X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=_manual%2F24_lua-scripting%2F02_class_reference.html;h=0cde811307e3f3f5e2602011f8c4f3a2755ba1a8;hb=9bca305233a422a852d093538be53ce3ad50d308;hp=8f71da02847c9579a0cc935b75eca8d7bdb69203;hpb=2cb1352946cba2bb946114738fdb987ae1ce7f17;p=ardour-manual diff --git a/_manual/24_lua-scripting/02_class_reference.html b/_manual/24_lua-scripting/02_class_reference.html index 8f71da0..0cde811 100644 --- a/_manual/24_lua-scripting/02_class_reference.html +++ b/_manual/24_lua-scripting/02_class_reference.html @@ -8,8 +8,10 @@ title: Class Reference This documention is far from complete may be inaccurate and subject to change.
+
The top-level entry point are ARDOUR:Session and ArdourUI:Editor.
@@ -35,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.
@@ -118,6 +126,38 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to CC‡: boost::shared_ptr< ARDOUR::Amp >, boost::weak_ptr< ARDOUR::Amp >
+is-a: ARDOUR:Processor
+ +Methods | ||
---|---|---|
GainControl | gain_control () | |
bool | isnil () |
Methods | ||
---|---|---|
void | activate () | |
bool | active () | |
AutomationControl | automation_control (Parameter, bool) | |
Control | control (Parameter, bool) | |
void | deactivate () | |
std::string | display_name () | |
Cast | ||
Automatable | to_automatable () | |
PluginInsert | to_insert () | |
IOProcessor | to_ioprocessor () | |
SideChain | to_sidechain () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: boost::shared_ptr< ARDOUR::AudioBackend >, boost::weak_ptr< ARDOUR::AudioBackend >
@@ -177,9 +217,12 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to CMethods | ||
---|---|---|
void | apply_gain (float, long) | |
bool | check_silence (unsigned int, unsigned int&) | |
check buffer for silence
Returns true if all samples are zero | ||
FloatArray | data (long) | |
void | read_from (FloatArray, long, long, long) | |
void | silence (long, long) | |
Clear (eg zero, or empty) buffer | ||
silence buffer
|
C‡: ARDOUR::AudioEngine
@@ -198,6 +241,62 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to CC‡: boost::shared_ptr< ARDOUR::AudioPort >, boost::weak_ptr< ARDOUR::AudioPort >
+is-a: ARDOUR:Port
+ +Methods | ||
---|---|---|
bool | isnil () |
Methods | ||
---|---|---|
int | connect (Port) | |
int | connect_by_name (std::string) | |
bool | connected () | |
Returns true if this port is connected to anything | ||
bool | connected_to (Port) | |
bool | connected_to_name (std::string) | |
int | disconnect (Port) | |
int | disconnect_all () | |
int | disconnect_by_name (std::string) | |
std::string | name () | |
Returns Port short name | ||
std::string | pretty_name (bool) | |
Returns Port human readable name | ||
bool | receives_input () | |
Returns true if this Port receives input, otherwise false | ||
bool | sends_output () | |
Returns true if this Port sends output, otherwise false |
C‡: ARDOUR::AudioRange
+ +Constructor | ||
---|---|---|
ℂ | ARDOUR.AudioRange (long, long, unsigned int) | |
Methods | ||
bool | equal (AudioRange) | |
long | length () | |
Data Members | ||
long | end | |
unsigned int | id | |
long | start |
C‡: std::list<ARDOUR::AudioRange >
+ +Constructor | ||
---|---|---|
ℂ | ARDOUR.AudioRangeList () | |
Methods | ||
bool | empty () | |
LuaIter | iter () | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () |
C‡: boost::shared_ptr< ARDOUR::AudioSource >, boost::weak_ptr< ARDOUR::AudioSource >
is-a: ARDOUR:Source
@@ -219,38 +318,55 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to CMethods | ||
---|---|---|
Region | bounce (long, long, InterThreadInfo&, Processor, bool) | |
Region | bounce_range (long, long, InterThreadInfo&, Processor, bool) | |
bool | bounceable (Processor, bool) | |
bool | can_record () | |
Playlist | playlist () | |
bool | record_enabled () | |
bool | record_safe () | |
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 () |
Methods | ||
---|---|---|
bool | active () | |
int | add_processor_by_index (Processor, int, ProcessorStreams, bool) | |
bool | add_sidechain (Processor) | |
Amp | amp () | |
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 () | |
Processor | nth_plugin (unsigned int) | |
int | remove_processor (Processor, ProcessorStreams, bool) | |
bool | remove_sidechain (Processor) | |
int | replace_processor (Processor, Processor, ProcessorStreams) | |
bool | reset_plugin_insert (Processor) | |
void | set_active (bool, void*) | |
void | set_comment (std::string, void*) | |
bool | set_strict_io (bool) | |
bool | soloed () | |
bool | strict_io () | |
Amp | trim () | |
Cast | ||
Track | to_track () |
Methods | ||
---|---|---|
std::string | name () |
Methods | ||
---|---|---|
OwnedPropertyList | properties () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: std::list<boost::shared_ptr<ARDOUR::AudioTrack> >
@@ -279,25 +395,54 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to CC‡: boost::shared_ptr< ARDOUR::AutomationControl >, boost::weak_ptr< ARDOUR::AutomationControl >
-is-a: Evoral:Control
+is-a: PBD:Controllable
Methods | ||
---|---|---|
AutomationList | alist () | |
AutoState | automation_state () | |
AutoStyle | automation_style () | |
double | get_value () | |
Get the current effective `user' value based on automation state | ||
bool | isnil () | |
void | set_automation_state (AutoState) | |
void | set_automation_style (AutoStyle) | |
void | set_value (double, GroupControlDisposition) | |
Get and Set `internal' value All derived classes must implement this. Basic derived classes will ignore
| ||
void | start_touch (double) | |
void | stop_touch (bool, double) | |
bool | writable () | |
Cast | ||
Control | to_ctrl () |
Methods | ||
---|---|---|
ControlList | list () | |
std::string | name () |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
OwnedPropertyList | properties () |
C‡: boost::shared_ptr< ARDOUR::AutomationList >, boost::weak_ptr< ARDOUR::AutomationList >
+ +Methods | ||
---|---|---|
XMLNode | get_state () | |
bool | isnil () | |
Command | memento_command (XMLNode, XMLNode) | |
bool | touch_enabled () | |
bool | touching () | |
bool | writing () | |
Cast | ||
ControlList | list () | |
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: std::vector<ARDOUR::AudioBackendInfo const* >
@@ -327,19 +472,35 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to CA count of channels, possibly with many types.
Operators are defined so this may safely be used as if it were a simple (single-typed) integer count of channels.
Constructor | ||
---|---|---|
ℂ | ARDOUR.ChanCount (DataType, unsigned int) | |
Convenience constructor for making single-typed streams (mono, stereo, midi, etc)
| ||
Methods | ||
unsigned int | get (DataType) | |
query channel count for given type
Returns channel count for given type | ||
unsigned int | n_audio () | |
query number of audio channels Returns number of audio channels | ||
unsigned int | n_midi () | |
query number of midi channels Returns number of midi channels | ||
unsigned int | n_total () | |
query total channel count of all data types Returns total channel count (audio + midi) | ||
void | reset () | |
zero count of all data types | ||
void | set (DataType, unsigned int) | |
set channel count for given type
|
C‡: ARDOUR::ChanMapping
-A mapping from one set of channels to another (e.g. how to 'connect' two BufferSets).
A mapping from one set of channels to another. The general form is 1 source (from), many sinks (to). numeric IDs are used to identify sources and sinks.
for plugins this is used to map "plugin-pin" to "audio-buffer"
Constructor | ||
---|---|---|
ℂ | ARDOUR.ChanMapping () | |
Methods | ||
unsigned int | get (DataType, unsigned int) | |
unsigned int | get (DataType, unsigned int) | |
get buffer mapping for given data type and pin
Returns mapped buffer number (or ChanMapping::Invalid) | ||
void | set (DataType, unsigned int, unsigned int) | |
set buffer mapping for given data type
|
setup filter, compute coefficients
setup filter, compute coefficients
reset filter state
Constructor | ||
---|---|---|
ℂ | ARDOUR.DataType (std::string) | |
Methods | ||
DataType | audio () | |
convenience contructor for DataType::AUDIO Returns DataType::AUDIO | ||
DataType | midi () | |
convenience contructor for DataType::MIDI Returns DataType::MIDI | ||
DataType | null () | |
convenience contructor for DataType::NIL Returns DataType::NIL | ||
char* | to_string () | |
Inverse of the from-string constructor |
C‡: boost::shared_ptr< ARDOUR::Delivery >, boost::weak_ptr< ARDOUR::Delivery >
+is-a: ARDOUR:IOProcessor
+ +Methods | ||
---|---|---|
bool | isnil () |
Methods | ||
---|---|---|
IO | input () | |
ChanCount | natural_input_streams () | |
ChanCount | natural_output_streams () | |
IO | output () |
Methods | ||
---|---|---|
void | activate () | |
bool | active () | |
AutomationControl | automation_control (Parameter, bool) | |
Control | control (Parameter, bool) | |
void | deactivate () | |
std::string | display_name () | |
Cast | ||
Automatable | to_automatable () | |
PluginInsert | to_insert () | |
IOProcessor | to_ioprocessor () | |
SideChain | to_sidechain () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: ARDOUR::AudioBackend::DeviceStatus
@@ -449,28 +658,163 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to CC‡: boost::shared_ptr< ARDOUR::GainControl >, boost::weak_ptr< ARDOUR::GainControl >
+is-a: ARDOUR:AutomationControl
+ +Methods | ||
---|---|---|
bool | isnil () |
Methods | ||
---|---|---|
AutomationList | alist () | |
AutoState | automation_state () | |
AutoStyle | automation_style () | |
double | get_value () | |
Get the current effective `user' value based on automation state | ||
void | set_automation_state (AutoState) | |
void | set_automation_style (AutoStyle) | |
void | set_value (double, GroupControlDisposition) | |
Get and Set `internal' value All derived classes must implement this. Basic derived classes will ignore
| ||
void | start_touch (double) | |
void | stop_touch (bool, double) | |
bool | writable () | |
Cast | ||
Control | to_ctrl () |
Methods | ||
---|---|---|
std::string | name () |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
OwnedPropertyList | properties () |
C‡: boost::shared_ptr< ARDOUR::IO >, boost::weak_ptr< ARDOUR::IO >
+is-a: ARDOUR:SessionObject
+ +Methods | ||
---|---|---|
bool | active () | |
int | add_port (std::string, void*, DataType) | |
Add a port.
| ||
AudioPort | audio (unsigned int) | |
int | connect (Port, std::string, void*) | |
int | disconnect (Port, std::string, void*) | |
bool | has_port (Port) | |
bool | isnil () | |
MidiPort | midi (unsigned int) | |
ChanCount | n_ports () | |
Port | nth (unsigned int) | |
bool | physically_connected () | |
Port | port_by_name (unsigned int) | |
int | remove_port (Port, void*) |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: boost::shared_ptr< ARDOUR::IOProcessor >, boost::weak_ptr< ARDOUR::IOProcessor >
+is-a: ARDOUR:Processor
+ +Methods | ||
---|---|---|
IO | input () | |
bool | isnil () | |
ChanCount | natural_input_streams () | |
ChanCount | natural_output_streams () | |
IO | output () |
Methods | ||
---|---|---|
void | activate () | |
bool | active () | |
AutomationControl | automation_control (Parameter, bool) | |
Control | control (Parameter, bool) | |
void | deactivate () | |
std::string | display_name () | |
Cast | ||
Automatable | to_automatable () | |
PluginInsert | to_insert () | |
IOProcessor | to_ioprocessor () | |
SideChain | to_sidechain () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: ARDOUR::InterThreadInfo
+ +Constructor | ||
---|---|---|
ℂ | ARDOUR.InterThreadInfo () | |
Data Members | ||
bool | cancel | |
bool | done | |
float | progress |
C‡: ARDOUR::Location
+C‡: ARDOUR::Locations
is-a: PBD:StatefulDestructible
-Base class for objects with saveable and undoable state
Base class for objects with saveable and undoable state with destruction notification
Methods | ||
---|---|---|
Location | auto_loop_location () | |
Location | auto_punch_location () | |
long | end () | |
long | first_mark_after (long, bool) | |
long | first_mark_after (long, bool) | |
long | length () | |
void | lock () | |
bool | locked () | |
int | move_to (long) | |
Location | session_range_location () | |
int | set_end (long, bool, bool) | |
Set end position.
| ||
int | set_length (long, long, bool) | |
int | set_start (long, bool, bool) | |
Set start position.
| ||
long | start () |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
OwnedPropertyList | properties () |
C‡: std::list<ARDOUR::Location* >
+ +Constructor | ||
---|---|---|
ℂ | ARDOUR.LocationList () | |
Methods | ||
bool | empty () | |
LuaIter | iter () | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () |
create a new Plugin Instance
Returns Processor or nil | ||
PluginInfo | new_plugin_info (std::string, PluginType) | |
search a Plugin
Returns PluginInfo or nil if not found | ||
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 _, 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 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.
Returns true on success, false on error or out-of-bounds value | ||
bool | set_processor_param (Processor, unsigned int, float) | |
set a plugin control-input parameter value
Returns true on success, false on error or out-of-bounds value | ||
void | usleep (unsigned long) |
C‡: ARDOUR::LuaOSC::Address
@@ -521,6 +877,37 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to CClear (eg zero, or empty) buffer
C‡: boost::shared_ptr< ARDOUR::MidiPort >, boost::weak_ptr< ARDOUR::MidiPort >
+is-a: ARDOUR:Port
+ +Methods | ||
---|---|---|
bool | input_active () | |
bool | isnil () | |
void | set_input_active (bool) |
Methods | ||
---|---|---|
int | connect (Port) | |
int | connect_by_name (std::string) | |
bool | connected () | |
Returns true if this port is connected to anything | ||
bool | connected_to (Port) | |
bool | connected_to_name (std::string) | |
int | disconnect (Port) | |
int | disconnect_all () | |
int | disconnect_by_name (std::string) | |
std::string | name () | |
Returns Port short name | ||
std::string | pretty_name (bool) | |
Returns Port human readable name | ||
bool | receives_input () | |
Returns true if this Port receives input, otherwise false | ||
bool | sends_output () | |
Returns true if this Port sends output, otherwise false |
C‡: boost::shared_ptr< ARDOUR::MidiTrack >, boost::weak_ptr< ARDOUR::MidiTrack >
is-a: ARDOUR:Track
@@ -532,38 +919,55 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to CMethods | ||
---|---|---|
Region | bounce (long, long, InterThreadInfo&, Processor, bool) | |
Region | bounce_range (long, long, InterThreadInfo&, Processor, bool) | |
bool | bounceable (Processor, bool) | |
bool | can_record () | |
Playlist | playlist () | |
bool | record_enabled () | |
bool | record_safe () | |
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 () |
Methods | ||
---|---|---|
bool | active () | |
int | add_processor_by_index (Processor, int, ProcessorStreams, bool) | |
bool | add_sidechain (Processor) | |
Amp | amp () | |
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 () | |
Processor | nth_plugin (unsigned int) | |
int | remove_processor (Processor, ProcessorStreams, bool) | |
bool | remove_sidechain (Processor) | |
int | replace_processor (Processor, Processor, ProcessorStreams) | |
bool | reset_plugin_insert (Processor) | |
void | set_active (bool, void*) | |
void | set_comment (std::string, void*) | |
bool | set_strict_io (bool) | |
bool | soloed () | |
bool | strict_io () | |
Amp | trim () | |
Cast | ||
Track | to_track () |
Methods | ||
---|---|---|
std::string | name () |
Methods | ||
---|---|---|
OwnedPropertyList | properties () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: std::list<boost::shared_ptr<ARDOUR::MidiTrack> >
@@ -609,6 +1013,49 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to CC‡: boost::shared_ptr< ARDOUR::Playlist >, boost::weak_ptr< ARDOUR::Playlist >
+is-a: ARDOUR:SessionObject
+ +Methods | ||
---|---|---|
void | add_region (Region, long, float, bool) | |
Region | combine (RegionList) | |
unsigned int | count_regions_at (long) | |
Playlist | cut (AudioRangeList&, bool) | |
DataType | data_type () | |
void | duplicate (Region, long, long, float) | |
void | duplicate_range (AudioRange&, float) | |
void | duplicate_until (Region, long, long, long) | |
Region | find_next_region (long, RegionPoint, int) | |
long | find_next_region_boundary (long, int) | |
bool | isnil () | |
void | lower_region (Region) | |
void | lower_region_to_bottom (Region) | |
unsigned int | n_regions () | |
void | raise_region (Region) | |
void | raise_region_to_top (Region) | |
Region | region_by_id (ID) | |
RegionListPtr | regions_at (long) | |
RegionListPtr | regions_touched (long, long) | |
Returns regions which have some part within this range. | ||
RegionListPtr | regions_with_end_within (Range) | |
RegionListPtr | regions_with_start_within (Range) | |
void | remove_region (Region) | |
void | split (long) | |
void | split_region (Region, long) | |
Region | top_region_at (long) | |
Region | top_unmuted_region_at (long) | |
void | uncombine (Region) |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: boost::shared_ptr< ARDOUR::Plugin >, boost::weak_ptr< ARDOUR::Plugin >
is-a: PBD:StatefulDestructiblePtr
@@ -621,6 +1068,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to CSet parameters using a preset
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
OwnedPropertyList | properties () |
Methods | ||
---|---|---|
AutomationList | alist () | |
AutoState | automation_state () | |
AutoStyle | automation_style () | |
double | get_value () | |
Get the current effective `user' value based on automation state | ||
void | set_automation_state (AutoState) | |
void | set_automation_style (AutoStyle) | |
void | set_value (double, GroupControlDisposition) | |
Get and Set `internal' value All derived classes must implement this. Basic derived classes will ignore
| ||
void | start_touch (double) | |
void | stop_touch (bool, double) | |
bool | writable () | |
Cast | ||
Control | to_ctrl () |
Methods | ||
---|---|---|
ControlList | list () | |
std::string | name () |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
OwnedPropertyList | properties () |
C‡: boost::shared_ptr< ARDOUR::PluginInfo >, boost::weak_ptr< ARDOUR::PluginInfo >
@@ -678,13 +1141,10 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to CMethods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: boost::shared_ptr< ARDOUR::Port >, boost::weak_ptr< ARDOUR::Port >
+Methods | ||
---|---|---|
OwnedPropertyList | properties () |
Returns true if this port is connected to anything
Returns Port short name
Returns Port human readable name
Returns true if this Port receives input, otherwise false
Returns true if this Port sends output, otherwise false
C‡: boost::shared_ptr< ARDOUR::PortSet >, boost::weak_ptr< ARDOUR::PortSet >
+ +Methods | ||
---|---|---|
void | add (Port) | |
void | clear () | |
Remove all ports from the PortSet. Ports are not deregistered with the engine, it's the caller's responsibility to not leak here! | ||
bool | contains (Port) | |
bool | empty () | |
bool | isnil () | |
unsigned long | num_ports (DataType) | |
Port | port (DataType, unsigned long) | |
nth port of type t, or nth port if t = NIL
| ||
bool | remove (Port) |
C‡: ARDOUR::Plugin::PresetRecord
@@ -718,7 +1220,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to CC‡: boost::shared_ptr< ARDOUR::Processor >, boost::weak_ptr< ARDOUR::Processor >
-is-a: ARDOUR:Automatable, ARDOUR:SessionObject
+is-a: ARDOUR:SessionObject
Methods | ||
---|---|---|
void | deactivate () | |
std::string | display_name () | |
bool | isnil () | |
bool | isnil () | |
Cast | ||
Automatable | to_automatable () | |
PluginInsert | to_insert () | |
IOProcessor | to_ioprocessor () | |
SideChain | to_sidechain () |
Methods | ||
---|---|---|
std::string | name () |
Methods | ||
---|---|---|
OwnedPropertyList | properties () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: PBD::PropertyDescriptor<bool>
@@ -806,6 +1309,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to CA gui may need to create a region, then place it in an initial position determined by the user. When this takes place within one gui operation, we have to reset _last_position to prevent an implied move.
Set the region's sync point.
Returns Sync position in session time
Methods | ||
---|---|---|
std::string | name () |
Methods | ||
---|---|---|
OwnedPropertyList | properties () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: ARDOUR::RegionFactory
@@ -845,6 +1350,35 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to CC‡: std::list<boost::shared_ptr<ARDOUR::Region> >
+ +Constructor | ||
---|---|---|
ℂ | ARDOUR.RegionList () | |
Methods | ||
bool | empty () | |
LuaIter | iter () | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () |
C‡: boost::shared_ptr<std::list<boost::shared_ptr<ARDOUR::Region> > >
+ +Constructor | ||
---|---|---|
ℂ | ARDOUR.RegionListPtr () | |
Methods | ||
LuaTable | add (LuaTable {Region}) | |
bool | empty () | |
LuaIter | iter () | |
void | push_back (Region) | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () | |
void | unique () |
C‡: boost::shared_ptr< ARDOUR::Route >, boost::weak_ptr< ARDOUR::Route >
is-a: ARDOUR:SessionObject
@@ -853,28 +1387,38 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to Cthe signal processorat at end of the processing chain which produces output
Methods | ||
---|---|---|
std::string | name () |
Methods | ||
---|---|---|
OwnedPropertyList | properties () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: ARDOUR::Route::ProcessorStreams
@@ -916,10 +1460,15 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to CC‡: ARDOUR::Session
-Base class for objects with saveable and undoable state
Ardour Session
Methods | ||
---|---|---|
void | abort_reversible_command () | |
bool | actively_recording () | |
void | add_command (Command) | |
StatefulDiffCommand | add_stateful_diff_command (StatefulDestructiblePtr) | |
void | begin_reversible_command (std::string) | |
void | commit_reversible_command (Command) | |
Controllable | controllable_by_id (ID) | |
long | current_end_frame () | |
long | current_start_frame () | |
void | goto_end () | |
void | goto_start () | |
long | last_transport_start () | |
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)
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 () | |
Route | route_by_name (std::string) | |
Route | route_by_remote_id (unsigned int) | |
int | save_state (std::string, bool, bool, bool) | |
save session
Returns zero on success | ||
void | scripts_changed () | |
void | set_dirty () | |
std::string | snap_name () |
C‡: boost::shared_ptr< ARDOUR::SessionObject >, boost::weak_ptr< ARDOUR::SessionObject >
-is-a: PBD:StatefulDestructiblePtr
Methods | ||
---|---|---|
bool | isnil () | |
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: boost::shared_ptr< ARDOUR::SideChain >, boost::weak_ptr< ARDOUR::SideChain >
+is-a: ARDOUR:IOProcessor
+Methods | ||
---|---|---|
OwnedPropertyList | properties () | |
bool | isnil () |
Methods | ||
---|---|---|
IO | input () | |
ChanCount | natural_input_streams () | |
ChanCount | natural_output_streams () | |
IO | output () |
Methods | ||
---|---|---|
void | activate () | |
bool | active () | |
AutomationControl | automation_control (Parameter, bool) | |
Control | control (Parameter, bool) | |
void | deactivate () | |
std::string | display_name () | |
Cast | ||
Automatable | to_automatable () | |
PluginInsert | to_insert () | |
IOProcessor | to_ioprocessor () | |
SideChain | to_sidechain () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: boost::shared_ptr< ARDOUR::Source >, boost::weak_ptr< ARDOUR::Source >
@@ -999,7 +1587,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to CC‡: ARDOUR::TempoMap
-Base class for objects with saveable and undoable state
Tempo Map - mapping of timecode to musical time. convert audio-samples, sample-rate to Bar/Beat/Tick, Meter/Tempo
Methods | ||
---|---|---|
void | add_meter (Meter, BBT_TIME) |
Methods | ||
---|---|---|
Region | bounce (long, long, InterThreadInfo&, Processor, bool) | |
Region | bounce_range (long, long, InterThreadInfo&, Processor, bool) | |
bool | bounceable (Processor, bool) | |
bool | can_record () | |
bool | isnil () | |
Playlist | playlist () | |
bool | record_enabled () | |
bool | record_safe () | |
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 () |
Methods | ||
---|---|---|
bool | active () | |
int | add_processor_by_index (Processor, int, ProcessorStreams, bool) | |
bool | add_sidechain (Processor) | |
Amp | amp () | |
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 () | |
Processor | nth_plugin (unsigned int) | |
int | remove_processor (Processor, ProcessorStreams, bool) | |
bool | remove_sidechain (Processor) | |
int | replace_processor (Processor, Processor, ProcessorStreams) | |
bool | reset_plugin_insert (Processor) | |
void | set_active (bool, void*) | |
void | set_comment (std::string, void*) | |
bool | set_strict_io (bool) | |
bool | soloed () | |
bool | strict_io () | |
Amp | trim () | |
Cast | ||
Track | to_track () |
Methods | ||
---|---|---|
std::string | name () |
Methods | ||
---|---|---|
OwnedPropertyList | properties () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: std::list<boost::weak_ptr<ARDOUR::AudioSource> >
@@ -1058,20 +1663,6 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to CC‡: std::set<boost::weak_ptr<ARDOUR::AudioPort> > >
- -Constructor | ||
---|---|---|
ℂ | ARDOUR.WeakPortSet () | |
Methods | ||
LuaTable | add (LuaTable {ARDOUR::AudioPort}) | |
void | clear () | |
bool | empty () | |
LuaIter | iter () | |
unsigned long | size () | |
LuaTable | table () |
C‡: std::list<boost::weak_ptr<ARDOUR::Route> >
@@ -1098,14 +1689,36 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to CC‡: ArdourMarker
-Base class for objects with auto-disconnection. trackable must be inherited when objects shall automatically invalidate slots referring to them on destruction. A slot built from a member function of a trackable derived type installs a callback that is invoked when the trackable object is destroyed or overwritten.
add_destroy_notify_callback() and remove_destroy_notify_callback() can be used to manually install and remove callbacks when notification of the object dying is needed.
notify_callbacks() invokes and removes all previously installed callbacks and can therefore be used to disconnect from all signals.
Note that there is no virtual destructor. Don't use trackable* as pointer type for managing your data or the destructors of your derived types won't be called when deleting your objects.
signal
This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.
+Location Marker
Editor ruler representation of a location marker or range on the timeline.
Methods | ||
---|---|---|
std::string | name () | |
long | position () | |
Type | type () |
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 () |
C‡: PublicEditor
+This class contains just the public interface of the Editor class, in order to decouple it from the private implementation, so that callers of PublicEditor need not be recompiled if private methods or member variables change.
Methods | ||
---|---|---|
void | access_action (std::string, std::string) | |
bool | follow_playhead () | |
Returns true if the editor is following the playhead | ||
long | get_current_zoom () | |
Selection | get_cut_buffer () | |
unsigned int | get_grid_beat_divisions (long) | |
LuaTable(Beats, ...) | get_grid_type_as_beats (bool&, long) | |
LuaTable(long, ...) | get_nudge_distance (long, long&) | |
long | get_paste_offset (long, unsigned int, long) | |
LuaTable(...) | get_pointer_position (double&, double&) | |
Selection | get_selection () | |
LuaTable(bool, ...) | get_selection_extents (long&, long&) | |
bool | get_smart_mode () | |
int | get_videotl_bar_height () | |
double | get_y_origin () | |
void | separate_region_from_selection () | |
void | set_follow_playhead (bool, bool) | |
Set whether the editor should follow the playhead.
| ||
void | set_loop_range (long, long, std::string) | |
void | set_mouse_mode (MouseMode, bool) | |
Set the mouse mode (gain, object, range, timefx etc.)
| ||
void | set_punch_range (long, long, std::string) | |
void | set_show_measures (bool) | |
void | set_snap_mode (SnapMode) | |
Set the snap mode.
| ||
Undo some transactions.
| ||
double | visible_canvas_height () |
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.
+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 () |
C‡: RegionSelection
@@ -1201,10 +1838,67 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to CMethods | ||
---|---|---|
void | clear_all () | |
Empty this RegionSelection. | ||
long | end_frame () | |
unsigned long | n_midi_regions () | |
RegionList | regionlist () | |
long | start () |
C‡: Selection
+ +The Selection class holds lists of selected items (tracks, regions, etc. etc.).
Methods | ||
---|---|---|
void | clear () | |
Clear everything from the Selection | ||
void | clear_all () | |
bool | empty (bool) | |
check if all selections are empty
Returns true if nothing is selected. | ||
Data Members | ||
ArdourUI:MarkerSelection | markers | |
ArdourUI:RegionSelection | regions | |
ArdourUI:TimeSelection | time | |
ArdourUI:TrackSelection | tracks |
C‡: TimeSelection
+is-a: ARDOUR:AudioRangeList
+ +Methods | ||
---|---|---|
long | end_frame () | |
long | length () | |
long | start () |
Constructor | ||
---|---|---|
ℂ | ARDOUR.AudioRangeList () | |
Methods | ||
bool | empty () | |
LuaIter | iter () | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () |
C‡: TrackSelection
+is-a: ArdourUI:TrackViewList
+ +This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.
+Methods | ||
---|---|---|
RouteList | routelist () |
C‡: TrackViewList
+ +Methods | ||
---|---|---|
RouteList | routelist () |
C‡: std::vector<double >
@@ -1329,7 +2023,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to CMakes a copy of the current state of the Context and saves it on an internal stack of saved states. When restore() is called, it will be restored to the saved state. Multiple calls to save() and restore() can be nested; each call to restore() restores the state from the matching paired save().
It isn't necessary to clear all saved states before a cairo_t is freed. Any saved states will be freed when the Context is destroyed.
restore()
Modifies the current transformation matrix (CTM) by scaling the X and Y user-space axes by sx and sy respectively. The scaling of the axes takes place after any existing transformation of user space.
Sets the current font matrix to a scale by a factor of size, replacing any font matrix previously set with set_font_size() or set_font_matrix(). This results in a font size of size user space units. (More precisely, this matrix will result in the font's em-square being a by size square in user space.)
If text is drawn without a call to set_font_size(), (nor set_font_matrix() nor set_scaled_font()), the default font size is 10.0.
Methods | ||
---|---|---|
void | add (double, double, bool, bool) | |
add automation events
| ||
void | clear (double, double) | |
remove all automation events between the given time range
| ||
double | eval (double) | |
query value at given time (takes a read-lock, not safe while writing automation)
Returns parameter value | ||
bool | in_write_pass () | |
InterpolationStyle | interpolation () | |
query interpolation style of the automation data Returns Interpolation Style | ||
bool | isnil () | |
LuaTable(double, ...) | rt_safe_eval (double, bool&) | |
realtime safe version of eval, may fail if read-lock cannot be taken
Returns parameter value | ||
void | set_interpolation (InterpolationStyle) | |
set the interpolation style of the automation data
| ||
void | thin (double) | |
Thin the number of events in this list. The thinning factor corresponds to the area of a triangle computed between three points in the list (time-difference * value-difference). If the area is large, it indicates significant non-linearity between the points. Time is measured in samples, value is usually normalized to 0..1. During automation recording we thin the recorded points using this value. If a point is sufficiently co-linear with its neighbours (as defined by the area of the triangle formed by three of them), we will not include it in the list. The larger the value, the more points are excluded, so this effectively measures the amount of thinning to be done.
| ||
void | truncate_end (double) | |
truncate the event list after the given time
| ||
void | truncate_start (double) | |
truncate the event list to the given time
|
C‡: boost::shared_ptr< Evoral::ControlSet >, boost::weak_ptr< Evoral::ControlSet >
@@ -1440,6 +2152,16 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to CC‡: Evoral::Range<long>
+ +Constructor | ||
---|---|---|
ℂ | Evoral.Range (long, long) | |
Data Members | ||
long | from | |
long | to |
C‡: std::bitset<47ul>
@@ -1457,6 +2179,23 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to CC‡: Command
+is-a: PBD:StatefulDestructible
+ +Base class for objects with saveable and undoable state with destruction notification
Methods | ||
---|---|---|
std::string | name () | |
void | set_name (std::string) |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
OwnedPropertyList | properties () |
C‡: boost::shared_ptr< PBD::Controllable >, boost::weak_ptr< PBD::Controllable >
is-a: PBD:StatefulDestructiblePtr
@@ -1465,10 +2204,13 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to CMethods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
OwnedPropertyList | properties () |
Base class for objects with saveable and undoable state
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
OwnedPropertyList | properties () |
C‡: PBD::StatefulDestructible
is-a: PBD:Stateful
-Base class for objects with saveable and undoable state
Base class for objects with saveable and undoable state with destruction notification
This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
OwnedPropertyList | properties () |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
OwnedPropertyList | properties () |
C‡: PBD::StatefulDiffCommand
+is-a: PBD:Command
+ +A Command which stores its action as the differences between the before and after state of a Stateful object.
Methods | ||
---|---|---|
bool | empty () | |
void | undo () |
Methods | ||
---|---|---|
std::string | name () | |
void | set_name (std::string) |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
OwnedPropertyList | properties () |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
bool | isnil () | |
OwnedPropertyList | properties () |
C‡: XMLNode
+ +Methods | ||
---|---|---|
std::string | name () |
C‡: Timecode::BBT_Time
@@ -1535,6 +2315,12 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C