From 9bca305233a422a852d093538be53ce3ad50d308 Mon Sep 17 00:00:00 2001
From: Robin Gareus
Date: Tue, 12 Apr 2016 14:28:52 +0200
Subject: [PATCH] update lua class reference & CSS
Use monospace for declarations, the font used form the manual
rendered "&" as "Et".
---
.../24_lua-scripting/02_class_reference.html | 311 +++++++++++++-----
source/css/luadoc.css | 25 +-
2 files changed, 234 insertions(+), 102 deletions(-)
diff --git a/_manual/24_lua-scripting/02_class_reference.html b/_manual/24_lua-scripting/02_class_reference.html
index b3e99b3..0cde811 100644
--- a/_manual/24_lua-scripting/02_class_reference.html
+++ b/_manual/24_lua-scripting/02_class_reference.html
@@ -37,6 +37,12 @@ Operations are performed on objects. One gets a reference to an object and then
e.g obj = Session:route_by_name("Audio") obj:set_name("Guitar")
.
+Lua automatically follows C++ class inheritance. e.g one can directly call all SessionObject and Route methods on Track object. However lua does not automatically promote objects. A Route object which just happens to be a Track needs to be explicily cast to a Track. Methods for casts are provided with each class. Note that the cast may fail and return a nil reference.
+
+
+Likewise multiple inheritance is a non-trivial issue in lua. To avoid performance penalties involved with lookups, explicit casts are required in this case. One example is ARDOUR:SessionObject which is-a StatefulDestructible which inhertis from both Stateful and Destructible.
+
+
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 factory methods for object creation or removal.
@@ -138,11 +144,20 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
Control | control (Parameter, bool) | |
void | deactivate () | |
std::string | display_name () | |
+ Cast |
+ Automatable | to_automatable () | |
PluginInsert | to_insert () | |
IOProcessor | to_ioprocessor () | |
- SessionObject | to_sessionobject () | |
SideChain | to_sidechain () | |
+Inherited from ARDOUR:SessionObject
+
↠ ARDOUR:AudioBackend
C‡: boost::shared_ptr< ARDOUR::AudioBackend >, boost::weak_ptr< ARDOUR::AudioBackend >
@@ -313,6 +328,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
bool | set_name (std::string) | |
void | set_record_enabled (bool, GroupControlDisposition) | |
void | set_record_safe (bool, GroupControlDisposition) | |
+ Cast |
AudioTrack | to_audio_track () | |
MidiTrack | to_midi_track () | |
@@ -326,6 +342,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
std::string | comment () | |
bool | customize_plugin_insert (Processor, unsigned int, ChanCount) | |
Delivery | main_outs () | |
+ | the signal processorat at end of the processing chain which produces output |
bool | muted () | |
ChanCount | n_inputs () | |
ChanCount | n_outputs () | |
@@ -339,23 +356,18 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
bool | set_strict_io (bool) | |
bool | soloed () | |
bool | strict_io () | |
- Track | to_track () | |
Amp | trim () | |
+ Cast |
+ Track | to_track () | |
Inherited from ARDOUR:SessionObject
-Inherited from PBD:StatefulPtr
-
- Methods |
- void | clear_changes () | |
- | Forget about any changes to this object's properties |
- OwnedPropertyList | properties () | |
-
∁ ARDOUR:AudioTrackList
C‡: std::list<boost::shared_ptr<ARDOUR::AudioTrack> >
@@ -383,7 +395,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
↠ ARDOUR:AutomationControl
C‡: boost::shared_ptr< ARDOUR::AutomationControl >, boost::weak_ptr< ARDOUR::AutomationControl >
- is-a: Evoral:Control
+ is-a: PBD:Controllable
Methods |
@@ -399,13 +411,21 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
| Get and Set `internal' value All derived classes must implement this. Basic derived classes will ignore - group_override,
- but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.
|
void | start_touch (double) | |
void | stop_touch (bool, double) | |
- Control | to_ctrl () | |
bool | writable () | |
+ Cast |
+ Control | to_ctrl () | |
-Inherited from Evoral:Control
+Inherited from PBD:Controllable
+Inherited from PBD:StatefulPtr
+
+ Methods |
+ void | clear_changes () | |
+ | Forget about any changes to this object's properties |
+ OwnedPropertyList | properties () | |
↠ ARDOUR:AutomationList
C‡: boost::shared_ptr< ARDOUR::AutomationList >, boost::weak_ptr< ARDOUR::AutomationList >
@@ -414,13 +434,14 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
Methods |
XMLNode | get_state () | |
bool | isnil () | |
- ControlList | list () | |
Command | memento_command (XMLNode, XMLNode) | |
- Stateful | to_stateful () | |
- StatefulDestructible | to_statefuldestructible () | |
bool | touch_enabled () | |
bool | touching () | |
bool | writing () | |
+ Cast |
+ ControlList | list () | |
+ Stateful | to_stateful () | |
+ StatefulDestructible | to_statefuldestructible () | |
∁ ARDOUR:BackendVector
C‡: std::vector<ARDOUR::AudioBackendInfo const* >
@@ -514,7 +535,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
ℂ | ARDOUR.DSP.Biquad (double) | |
Methods |
void | compute (Type, double, double, double) | |
- | setup filter, compute coefficients - t
- filter type (LowPass, HighPass, etc)
- freq
- filter frequency
- Q
- filter quality
- gain
- filter gain
|
+ | setup filter, compute coefficients - type
- filter type (LowPass, HighPass, etc)
- freq
- filter frequency
- Q
- filter quality
- gain
- filter gain
|
void | reset () | |
| |
void | run (FloatArray, unsigned int) | |
@@ -599,11 +620,20 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
Control | control (Parameter, bool) | |
void | deactivate () | |
std::string | display_name () | |
+ Cast |
+ Automatable | to_automatable () | |
PluginInsert | to_insert () | |
IOProcessor | to_ioprocessor () | |
- SessionObject | to_sessionobject () | |
SideChain | to_sidechain () | |
+Inherited from ARDOUR:SessionObject
+
∁ ARDOUR:DeviceStatus
C‡: ARDOUR::AudioBackend::DeviceStatus
@@ -650,13 +680,21 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
| Get and Set `internal' value All derived classes must implement this. Basic derived classes will ignore - group_override,
- but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.
|
void | start_touch (double) | |
void | stop_touch (bool, double) | |
- Control | to_ctrl () | |
bool | writable () | |
+ Cast |
+ Control | to_ctrl () | |
-Inherited from Evoral:Control
+Inherited from PBD:Controllable
+Inherited from PBD:StatefulPtr
+
+ Methods |
+ void | clear_changes () | |
+ | Forget about any changes to this object's properties |
+ OwnedPropertyList | properties () | |
↠ ARDOUR:IO
C‡: boost::shared_ptr< ARDOUR::IO >, boost::weak_ptr< ARDOUR::IO >
@@ -683,16 +721,10 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
-Inherited from PBD:StatefulPtr
-
- Methods |
- void | clear_changes () | |
- | Forget about any changes to this object's properties |
- OwnedPropertyList | properties () | |
-
↠ ARDOUR:IOProcessor
C‡: boost::shared_ptr< ARDOUR::IOProcessor >, boost::weak_ptr< ARDOUR::IOProcessor >
is-a: ARDOUR:Processor
@@ -714,11 +746,20 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
Control | control (Parameter, bool) | |
void | deactivate () | |
std::string | display_name () | |
+ Cast |
+ Automatable | to_automatable () | |
PluginInsert | to_insert () | |
IOProcessor | to_ioprocessor () | |
- SessionObject | to_sessionobject () | |
SideChain | to_sidechain () | |
+Inherited from ARDOUR:SessionObject
+
∁ ARDOUR:InterThreadInfo
C‡: ARDOUR::InterThreadInfo
@@ -787,14 +828,14 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
Processor | nil_proc () | |
LuaTable | plugin_automation () | |
| A convenience function to get a Automation Lists and ParamaterDescriptor for a given plugin control. This is equivalent to the following lua code function (processor, param_id)
- local plugininsert = processor:to_insert ()
- local plugin = plugininsert:plugin(0)
+ local plugininsert = processor:to_insert ()
+ local plugin = plugininsert:plugin(0)
local _, t = plugin:get_parameter_descriptor(param_id, ARDOUR.ParameterDescriptor ())
local ctrl = Evoral.Parameter (ARDOUR.AutomationType.PluginAutomation, 0, param_id)
local ac = pi:automation_control (ctrl, false)
local acl = ac:alist()
return ac:alist(), ac:to_ctrl():list(), t[2]
- end Example usage: get 3rd input parameter of first plugin on the given route (Ardour starts counting at zero). local al, cl, pd = ARDOUR.LuaAPI.plugin_automation (route:nth_plugin (0), 3) Returns 3 parameters: AutomationList, ControlList, ParamaterDescriptor |
+ end Example usage: get the third input parameter of first plugin on the given route (Ardour starts counting at zero).
local al, cl, pd = ARDOUR.LuaAPI.plugin_automation (route:nth_plugin (0), 3)
Returns 3 parameters: AutomationList, ControlList, ParamaterDescriptor
bool | set_plugin_insert_param (PluginInsert, unsigned int, float) | |
| set a plugin control-input parameter value This is a wrapper around set_processor_param which looks up the Processor by plugin-insert. - which
- control-input to set (starting at 0)
- proc
- Plugin-Insert
- value
- value to set
Returns true on success, false on error or out-of-bounds value |
bool | set_processor_param (Processor, unsigned int, float) | |
@@ -888,6 +929,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
bool | set_name (std::string) | |
void | set_record_enabled (bool, GroupControlDisposition) | |
void | set_record_safe (bool, GroupControlDisposition) | |
+ Cast |
AudioTrack | to_audio_track () | |
MidiTrack | to_midi_track () | |
@@ -901,6 +943,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
std::string | comment () | |
bool | customize_plugin_insert (Processor, unsigned int, ChanCount) | |
Delivery | main_outs () | |
+ | the signal processorat at end of the processing chain which produces output |
bool | muted () | |
ChanCount | n_inputs () | |
ChanCount | n_outputs () | |
@@ -914,23 +957,18 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
bool | set_strict_io (bool) | |
bool | soloed () | |
bool | strict_io () | |
- Track | to_track () | |
Amp | trim () | |
+ Cast |
+ Track | to_track () | |
Inherited from ARDOUR:SessionObject
-Inherited from PBD:StatefulPtr
-
- Methods |
- void | clear_changes () | |
- | Forget about any changes to this object's properties |
- OwnedPropertyList | properties () | |
-
∁ ARDOUR:MidiTrackList
C‡: std::list<boost::shared_ptr<ARDOUR::MidiTrack> >
@@ -1014,16 +1052,10 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
-Inherited from PBD:StatefulPtr
-
- Methods |
- void | clear_changes () | |
- | Forget about any changes to this object's properties |
- OwnedPropertyList | properties () | |
-
↠ ARDOUR:Plugin
C‡: boost::shared_ptr< ARDOUR::Plugin >, boost::weak_ptr< ARDOUR::Plugin >
is-a: PBD:StatefulDestructiblePtr
@@ -1074,13 +1106,21 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
| Get and Set `internal' value All derived classes must implement this. Basic derived classes will ignore - group_override,
- but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.
|
void | start_touch (double) | |
void | stop_touch (bool, double) | |
- Control | to_ctrl () | |
bool | writable () | |
+ Cast |
+ Control | to_ctrl () | |
-Inherited from Evoral:Control
+Inherited from PBD:Controllable
+Inherited from PBD:StatefulPtr
+
+ Methods |
+ void | clear_changes () | |
+ | Forget about any changes to this object's properties |
+ OwnedPropertyList | properties () | |
↠ ARDOUR:PluginInfo
C‡: boost::shared_ptr< ARDOUR::PluginInfo >, boost::weak_ptr< ARDOUR::PluginInfo >
@@ -1114,11 +1154,20 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
AutomationControl | automation_control (Parameter, bool) | |
Control | control (Parameter, bool) | |
std::string | display_name () | |
+ Cast |
+ Automatable | to_automatable () | |
PluginInsert | to_insert () | |
IOProcessor | to_ioprocessor () | |
- SessionObject | to_sessionobject () | |
SideChain | to_sidechain () | |
+Inherited from ARDOUR:SessionObject
+
↠ ARDOUR:Port
C‡: boost::shared_ptr< ARDOUR::Port >, boost::weak_ptr< ARDOUR::Port >
@@ -1171,7 +1220,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
↠ ARDOUR:Processor
C‡: boost::shared_ptr< ARDOUR::Processor >, boost::weak_ptr< ARDOUR::Processor >
- is-a: ARDOUR:Automatable
+ is-a: ARDOUR:SessionObject
Methods |
@@ -1182,11 +1231,20 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
void | deactivate () | |
std::string | display_name () | |
bool | isnil () | |
+ Cast |
+ Automatable | to_automatable () | |
PluginInsert | to_insert () | |
IOProcessor | to_ioprocessor () | |
- SessionObject | to_sessionobject () | |
SideChain | to_sidechain () | |
+Inherited from ARDOUR:SessionObject
+
∅ ARDOUR:Properties:BoolProperty
C‡: PBD::PropertyDescriptor<bool>
@@ -1281,16 +1339,10 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
-Inherited from PBD:StatefulPtr
-
- Methods |
- void | clear_changes () | |
- | Forget about any changes to this object's properties |
- OwnedPropertyList | properties () | |
-
∁ ARDOUR:RegionFactory
C‡: ARDOUR::RegionFactory
@@ -1341,6 +1393,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
bool | customize_plugin_insert (Processor, unsigned int, ChanCount) | |
bool | isnil () | |
Delivery | main_outs () | |
+ | the signal processorat at end of the processing chain which produces output |
bool | muted () | |
ChanCount | n_inputs () | |
ChanCount | n_outputs () | |
@@ -1355,23 +1408,18 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
bool | set_strict_io (bool) | |
bool | soloed () | |
bool | strict_io () | |
- Track | to_track () | |
Amp | trim () | |
+ Cast |
+ Track | to_track () | |
Inherited from ARDOUR:SessionObject
-Inherited from PBD:StatefulPtr
-
- Methods |
- void | clear_changes () | |
- | Forget about any changes to this object's properties |
- OwnedPropertyList | properties () | |
-
∁ ARDOUR:Route:ProcessorStreams
C‡: ARDOUR::Route::ProcessorStreams
@@ -1437,6 +1485,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
Location | locations () | |
std::string | name () | |
RouteList | new_route_from_template (unsigned int, std::string, std::string, PlaylistDisposition) | |
+ | create a new track or bus from a template (XML path) - how_many
- how many tracks or busses to create
- template_path
- path to xml template file
- name
- name (prefix) of the route to create
- pd
- Playlist disposition
Returns list of newly created routes |
long | nominal_frame_rate () | |
| "native" sample rate of session, regardless of current audioengine rate, pullup/down etc |
std::string | path () | |
@@ -1449,7 +1498,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
Route | route_by_name (std::string) | |
Route | route_by_remote_id (unsigned int) | |
int | save_state (std::string, bool, bool, bool) | |
- | - snapshot_name
- Name to save under, without .ardour / .pending prefix
|
+ | save session - snapshot_name
- name of the session (use an empty string for the current name)
- pending
- save a 'recovery', not full state (default: false)
- switch_to_snapshot
- switch to given snapshot after saving (default: false)
- template_only
- save a session template (default: false)
|
void | scripts_changed () | |
void | set_dirty () | |
std::string | snap_name () | |
@@ -1466,22 +1515,15 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
↠ ARDOUR:SessionObject
C‡: boost::shared_ptr< ARDOUR::SessionObject >, boost::weak_ptr< ARDOUR::SessionObject >
- is-a: PBD:StatefulDestructiblePtr
-Inherited from PBD:StatefulPtr
-
- Methods |
- void | clear_changes () | |
- | Forget about any changes to this object's properties |
- OwnedPropertyList | properties () | |
-
↠ ARDOUR:SideChain
C‡: boost::shared_ptr< ARDOUR::SideChain >, boost::weak_ptr< ARDOUR::SideChain >
is-a: ARDOUR:IOProcessor
@@ -1507,11 +1549,20 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
Control | control (Parameter, bool) | |
void | deactivate () | |
std::string | display_name () | |
+ Cast |
+ Automatable | to_automatable () | |
PluginInsert | to_insert () | |
IOProcessor | to_ioprocessor () | |
- SessionObject | to_sessionobject () | |
SideChain | to_sidechain () | |
+Inherited from ARDOUR:SessionObject
+
↠ ARDOUR:Source
C‡: boost::shared_ptr< ARDOUR::Source >, boost::weak_ptr< ARDOUR::Source >
@@ -1559,6 +1610,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
bool | set_name (std::string) | |
void | set_record_enabled (bool, GroupControlDisposition) | |
void | set_record_safe (bool, GroupControlDisposition) | |
+ Cast |
AudioTrack | to_audio_track () | |
MidiTrack | to_midi_track () | |
@@ -1572,6 +1624,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
std::string | comment () | |
bool | customize_plugin_insert (Processor, unsigned int, ChanCount) | |
Delivery | main_outs () | |
+ | the signal processorat at end of the processing chain which produces output |
bool | muted () | |
ChanCount | n_inputs () | |
ChanCount | n_outputs () | |
@@ -1585,23 +1638,18 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
bool | set_strict_io (bool) | |
bool | soloed () | |
bool | strict_io () | |
- Track | to_track () | |
Amp | trim () | |
+ Cast |
+ Track | to_track () | |
Inherited from ARDOUR:SessionObject
-Inherited from PBD:StatefulPtr
-
- Methods |
- void | clear_changes () | |
- | Forget about any changes to this object's properties |
- OwnedPropertyList | properties () | |
-
∁ ARDOUR:WeakAudioSourceList
C‡: std::list<boost::weak_ptr<ARDOUR::AudioSource> >
@@ -1641,11 +1689,32 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
unsigned long | size () | |
LuaTable | table () | |
-∅ ArdourUI:ArdourMarker
+∁ ArdourUI:ArdourMarker
C‡: ArdourMarker
Location Marker
Editor ruler representation of a location marker or range on the timeline.
-This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.
+
+ Methods |
+ std::string | name () | |
+ long | position () | |
+ Type | type () | |
+
+∁ ArdourUI:ArdourMarkerList
+C‡: std::list<ArdourMarker* >
+
+
+ Constructor |
+ ℂ | ArdourUI.ArdourMarkerList () | |
+ Methods |
+ LuaTable | add (LuaTable {ArdourMarker* }) | |
+ bool | empty () | |
+ LuaIter | iter () | |
+ void | push_back (ArdourMarker) | |
+ void | reverse () | |
+ unsigned long | size () | |
+ LuaTable | table () | |
+ void | unique () | |
+
∁ ArdourUI:Editor
C‡: PublicEditor
@@ -1743,6 +1812,25 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
| Undo some transactions. - n
- Number of transactions to undo.
|
double | visible_canvas_height () | |
+∅ ArdourUI:MarkerSelection
+C‡: MarkerSelection
+ is-a: ArdourUI:ArdourMarkerList
+
+This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.
+Inherited from ArdourUI:ArdourMarkerList
+
+ Constructor |
+ ℂ | ArdourUI.ArdourMarkerList () | |
+ Methods |
+ LuaTable | add (LuaTable {ArdourMarker* }) | |
+ bool | empty () | |
+ LuaIter | iter () | |
+ void | push_back (ArdourMarker) | |
+ void | reverse () | |
+ unsigned long | size () | |
+ LuaTable | table () | |
+ void | unique () | |
+
∁ ArdourUI:RegionSelection
C‡: RegionSelection
@@ -1765,10 +1853,35 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
void | clear () | |
| Clear everything from the Selection |
void | clear_all () | |
+ bool | empty (bool) | |
+ | check if all selections are empty - internal_selection
- also check object internals (e.g midi notes, automation points), when false only check objects.
Returns true if nothing is selected. |
Data Members |
+ ArdourUI:MarkerSelection | markers | |
ArdourUI:RegionSelection | regions | |
+ ArdourUI:TimeSelection | time | |
ArdourUI:TrackSelection | tracks | |
+∁ ArdourUI:TimeSelection
+C‡: TimeSelection
+ is-a: ARDOUR:AudioRangeList
+
+
+ Methods |
+ long | end_frame () | |
+ long | length () | |
+ long | start () | |
+
+Inherited from ARDOUR:AudioRangeList
+
+ Constructor |
+ ℂ | ARDOUR.AudioRangeList () | |
+ Methods |
+ bool | empty () | |
+ LuaIter | iter () | |
+ void | reverse () | |
+ unsigned long | size () | |
+ LuaTable | table () | |
+
∅ ArdourUI:TrackSelection
C‡: TrackSelection
is-a: ArdourUI:TrackViewList
@@ -2091,6 +2204,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
Methods |
double | get_value () | |
bool | isnil () | |
+ std::string | name () | |
Inherited from PBD:StatefulPtr
@@ -2335,6 +2449,20 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
LuaSignal.DiskUnderrun
LuaSignal.RegionPropertyChanged
+∈ ArdourMarker.Type
+
+- ArdourUI.MarkerType.Mark
+- ArdourUI.MarkerType.Tempo
+- ArdourUI.MarkerType.Meter
+- ArdourUI.MarkerType.SessionStart
+- ArdourUI.MarkerType.SessionEnd
+- ArdourUI.MarkerType.RangeStart
+- ArdourUI.MarkerType.RangeEnd
+- ArdourUI.MarkerType.LoopStart
+- ArdourUI.MarkerType.LoopEnd
+- ArdourUI.MarkerType.PunchIn
+- ArdourUI.MarkerType.PunchOut
+
∈ Editing.SnapType
-
+
-
+
diff --git a/source/css/luadoc.css b/source/css/luadoc.css
index 011b342..199968b 100644
--- a/source/css/luadoc.css
+++ b/source/css/luadoc.css
@@ -1,6 +1,6 @@
div.luafooter { text-align:center; font-size:80%; color: #888; margin: 2em 0; }
-#luaref dt {float:initial; width: initial; margin:initial; padding: initial; line-height:1.3em;}
-#luaref dd {float:initial; width: initial; margin: 0 0 0 2em; padding: initial; line-height:1.3em;}
+#luaref dt { float:initial; width: initial; margin:initial; padding: initial; line-height:1.3em;}
+#luaref dd { float:initial; width: initial; margin: 0 0 0 2em; padding: initial; line-height:1.3em;}
#luaref h2 { margin:2em 0 0 0; padding:0em; border-bottom: 1px solid black; }
#luaref h3.cls { margin:2em 0 0 0; padding: 0 0 0 1em; border: 1px dashed #6666ee; }
@@ -25,19 +25,20 @@ div.luafooter { text-align:center; font-size:80%; color: #888; marg
#luaref div.classdox p { margin: .5em 0 .5em .6em; }
#luaref div.classdox { padding: .1em 1em; }
#luaref div.classdox p { margin: .5em 0 .5em .6em; }
-#luaref div.result-discussion { font-size: 120%; }
-#luaref span.word-returns { font-style: italic; }
+#luaref div.result-discussion { font-size: 110%; }
+#luaref span.word-returns { font-weight: bold; font-style: italic; }
#luaref table.classmembers { width: 100%; }
#luaref table.classmembers th { text-align:left; border-bottom:1px solid black; padding-top:1em; }
-#luaref table.classmembers td.def { text-align:right; padding-right:.5em; white-space: nowrap; }
-#luaref table.classmembers td.decl { text-align:left; padding-left:.5em; white-space: nowrap; }
-#luaref table.classmembers td.doc { text-align:left; padding-left:.6em; line-height: 1.2em; font-size:80%; }
-#luaref table.classmembers td.doc div.dox {background-color:#eee; padding: .1em 1em; }
+#luaref table.classmembers td.def { text-align:right; padding-right:.5em; white-space: nowrap; font-family:mono; }
+#luaref table.classmembers td.decl { text-align:left; padding-left:.5em; white-space: nowrap; font-family:mono;}
+#luaref table.classmembers td.doc { text-align:left; padding-left:.6em; line-height: 1.2em; font-size:85%; }
+#luaref table.classmembers td.doc div.dox { background-color:#eee; padding: .1em 1em; }
#luaref table.classmembers td.doc p { margin: .5em 0; }
-#luaref table.classmembers td.doc p.para-brief { font-size:120%; }
-#luaref table.classmembers td.doc p.para-returns { font-size:120%; }
-#luaref table.classmembers td.doc dl { font-size:120%; line-height: 1.3em; }
-#luaref table.classmembers td.doc dt { font-style: italic; }
+#luaref table.classmembers td.doc p.para-brief { font-size:110%; }
+#luaref table.classmembers td.doc p.para-returns {font-size:inherit; }
+#luaref table.classmembers td.doc dl { font-size:110%; line-height: 1.2em; margin: 1em 0 0 0;}
+#luaref table.classmembers td.doc dt { font-weight: bold; font-size:inherit; }
+#luaref table.classmembers td.doc dd { font-size: inherit; }
#luaref table.classmembers td.fill { width: 99%; }
#luaref table.classmembers span.em { font-style: italic; }
#luaref span.functionname abbr { text-decoration:none; cursor:default; }
--
2.37.2