summaryrefslogtreecommitdiff
path: root/tools/fmt-luadoc.php
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-03-23 23:46:19 +0100
committerRobin Gareus <robin@gareus.org>2016-03-23 23:46:19 +0100
commit323ae44c2544f331b3a83ecf3ddbb238eef727f6 (patch)
tree3e148244fe07f2033796f3adc82f302ab5d83f8b /tools/fmt-luadoc.php
parent9ed7793326e658af2edc6db059f6137713d8aa82 (diff)
Add some introductory lua-doc paragraph
Diffstat (limited to 'tools/fmt-luadoc.php')
-rwxr-xr-xtools/fmt-luadoc.php17
1 files changed, 16 insertions, 1 deletions
diff --git a/tools/fmt-luadoc.php b/tools/fmt-luadoc.php
index 279225816a..80b5969894 100755
--- a/tools/fmt-luadoc.php
+++ b/tools/fmt-luadoc.php
@@ -514,7 +514,7 @@ div.header p {margin:.25em;}
<h1 id="h_intro">Overview</h1>
<p>
-The top-level entry point are <?=typelink('ARDOUR:Session')?> and <?=typelink('ARDOUR:Editor')?>.
+The top-level entry point are <?=typelink('ARDOUR:Session')?> and <?=typelink('ArdourUI:Editor')?>.
Most other Classes are used indirectly starting with a Session function. e.g. Session:get_routes().
</p>
<p>
@@ -525,6 +525,21 @@ A few classes are dedicated to certain script types, e.g. Lua DSP processors hav
<p>
Detailed documentation (parameter names, method description) is not yet available. Please stay tuned.
</p>
+<h2>Short introduction to Ardour classes</h2>
+<p>
+Ardour's structure is object oriented. The main object is the Session. A Session contains Audio Tracks, Midi Tracks and Busses.
+Audio and Midi tracks are derived from a more general "Track" Object, which in turn is derived from a "Route" (aka Bus).
+(We say "An Audio Track <em>is-a</em> Track <em>is-a</em> Route").
+Tracks contain specifics. For Example a track <em>has-a</em> diskstream (for file i/o).
+</p>
+<p>
+Operations are performed on objects. One gets a reference to an object and then calls a method.
+e.g obj = Session:route_by_name("Audio") obj:set_name("Guitar")
+</p>
+<p>
+Object lifetimes are managed by the Session. Most Objects cannot be directly created, but one asks the Session to create or destroy them. This is mainly due to realtime constrains:
+you cannot simply remove a track that is currently processing audio. There are various <em>factory</em> methods for object creation or removal.
+</p>
<?php
echo '<h1 id="h_classes">Class Documentation</h1>'.NL;