--- layout: default style: luadoc title: Class Reference ---

This documentation is far from complete may be inaccurate and subject to change.

Overview

The top-level entry point are ARDOUR:Session and ArdourUI:Editor. Most other Classes are used indirectly starting with a Session function. e.g. Session:get_routes().

A few classes are dedicated to certain script types, e.g. Lua DSP processors have exclusive access to ARDOUR.DSP and ARDOUR:ChanMapping. Action Hooks Scripts to LuaSignal:Set etc.

Detailed documentation (parameter names, method description) is not yet available. Please stay tuned.

Short introduction to Ardour classes

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 is-a Track is-a Route"). Tracks contain specifics. For Example a track has-a diskstream (for file i/o).

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").

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.

Pass by Reference

Since lua functions are closures, C++ methods that pass arguments by reference cannot be used as-is. All parameters passed to a C++ method which uses references are returned as Lua Table. If the C++ method also returns a value it is prefixed. Two parameters are returned: the value and a Lua Table holding the parameters.

C++
void set_ref (int& var, long& val)
{
	printf ("%d %ld\n", var, val);
	var = 5;
	val = 7;
}
Lua
local var = 0;
ref = set_ref (var, 2);
-- output from C++ printf()
0 2
-- var is still 0 here
print (ref[1], ref[2])
5 7
int set_ref2 (int &var, std::string unused)
{
	var = 5;
	return 3;
}
rv, ref = set_ref2 (0, "hello");
print (rv, ref[1], ref[2])
3 5 hello

Pointer Classes

Libardour makes extensive use of reference counted boost::shared_ptr to manage lifetimes. The Lua bindings provide a complete abstration of this. There are no pointers in lua. For example a ARDOUR:Route is a pointer in C++, but lua functions operate on it like it was a class instance.

shared_ptr are reference counted. Once assigned to a lua variable, the C++ object will be kept and remains valid. It is good practice to assign references to lua local variables or reset the variable to nil to drop the ref.

All pointer classes have a isnil () method. This is for two cases: Construction may fail. e.g. ARDOUR.LuaAPI.newplugin() may not be able to find the given plugin and hence cannot create an object.

The second case if for boost::weak_ptr. As opposed to boost::shared_ptr weak-pointers are not reference counted. The object may vanish at any time. If lua code calls a method on a nil object, the interpreter will raise an exception and the script will not continue. This is not unlike a = nil a:test() which results in en error "attempt to index a nil value".

From the lua side of things there is no distinction between weak and shared pointers. They behave identically. Below they're inidicated in orange and have an arrow to indicate the pointer type. Pointer Classes cannot be created in lua scripts. It always requires a call to C++ to create the Object and obtain a reference to it.

Class Documentation

 ARDOUR:Amp

C‡: boost::shared_ptr< ARDOUR::Amp >, boost::weak_ptr< ARDOUR::Amp >

is-a: ARDOUR:Processor

Applies a declick operation to all audio inputs, passing the same number of audio outputs, and passing through any other types unchanged.

Methods
GainControlgain_control ()
boolisnil ()

Inherited from ARDOUR:Processor

Methods
voidactivate ()
boolactive ()
AutomationControlautomation_control (Parameter, bool)
Controlcontrol (Parameter, bool)
voiddeactivate ()
std::stringdisplay_name ()
Cast
Automatableto_automatable ()
PluginInsertto_insert ()
IOProcessorto_ioprocessor ()
SideChainto_sidechain ()

Inherited from ARDOUR:SessionObject

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:AudioBackend

C‡: boost::shared_ptr< ARDOUR::AudioBackend >, boost::weak_ptr< ARDOUR::AudioBackend >

AudioBackend is an high-level abstraction for interacting with the operating system's audio and midi I/O.

Methods
unsigned intbuffer_size ()
std::stringdevice_name ()
std::stringdriver_name ()

override this if this implementation returns true from requires_driver_selection()

floatdsp_load ()

return the fraction of the time represented by the current buffer size that is being used for each buffer process cycle, as a value from 0.0 to 1.0

E.g. if the buffer size represents 5msec and current processing takes 1msec, the returned value should be 0.2.

Implementations can feel free to smooth the values returned over time (e.g. high pass filtering, or its equivalent).

DeviceStatusVectorenumerate_devices ()

Returns a collection of DeviceStatuses identifying devices discovered by this backend since the start of the process.

Any of the names in each DeviceStatus may be used to identify a device in other calls to the backend, though any of them may become invalid at any time.

StringVectorenumerate_drivers ()

If the return value of requires_driver_selection() is true, then this function can return the list of known driver names.

If the return value of requires_driver_selection() is false, then this function should not be called. If it is called its return value is an empty vector of strings.

DeviceStatusVectorenumerate_input_devices ()

Returns a collection of DeviceStatuses identifying input devices discovered by this backend since the start of the process.

Any of the names in each DeviceStatus may be used to identify a device in other calls to the backend, though any of them may become invalid at any time.

DeviceStatusVectorenumerate_output_devices ()

Returns a collection of DeviceStatuses identifying output devices discovered by this backend since the start of the process.

Any of the names in each DeviceStatus may be used to identify a device in other calls to the backend, though any of them may become invalid at any time.

AudioBackendInfoinfo ()

Return the AudioBackendInfo object from which this backend was constructed.

unsigned intinput_channels ()
std::stringinput_device_name ()
boolisnil ()
unsigned intoutput_channels ()
std::stringoutput_device_name ()
unsigned intperiod_size ()
floatsample_rate ()
intset_buffer_size (unsigned int)

Set the buffer size to be used.

The device is assumed to use a double buffering scheme, so that one buffer's worth of data can be processed by hardware while software works on the other buffer. All known suitable audio APIs support this model (though ALSA allows for alternate numbers of buffers, and CoreAudio doesn't directly expose the concept).

intset_device_name (std::string)

Set the name of the device to be used

intset_driver (std::string)

Returns zero if the backend can successfully use

Should not be used unless the backend returns true from requires_driver_selection()

name
as the driver, non-zero otherwise.
intset_input_device_name (std::string)

Set the name of the input device to be used if using separate input/output devices.

use_separate_input_and_output_devices()

intset_output_device_name (std::string)

Set the name of the output device to be used if using separate input/output devices.

use_separate_input_and_output_devices()

intset_peridod_size (unsigned int)

Set the period size to be used. must be called before starting the backend.

intset_sample_rate (float)

Set the sample rate to be used

booluse_separate_input_and_output_devices ()

An optional alternate interface for backends to provide a facility to select separate input and output devices.

If a backend returns true then enumerate_input_devices() and enumerate_output_devices() will be used instead of enumerate_devices() to enumerate devices. Similarly set_input/output_device_name() should be used to set devices instead of set_device_name().

 ARDOUR:AudioBackendInfo

C‡: ARDOUR::AudioBackendInfo

Data Members
char*name

 ARDOUR:AudioBuffer

C‡: ARDOUR::AudioBuffer

Buffer containing audio data.

Methods
voidapply_gain (float, long)
boolcheck_silence (unsigned int, unsigned int&)

check buffer for silence

nframes
number of frames to check
n
first non zero sample (if any)

Returns true if all samples are zero

FloatArraydata (long)
voidread_from (FloatArray, long, long, long)
boolsameinstance (AudioBuffer)
voidsilence (long, long)

silence buffer

len
number of samples to clear
offset
start offset

 ARDOUR:AudioEngine

C‡: ARDOUR::AudioEngine

is-a: ARDOUR:PortManager

Methods
BackendVectoravailable_backends ()
std::stringcurrent_backend_name ()
floatget_dsp_load ()
std::stringget_last_backend_error ()
AudioBackendset_backend (std::string, std::string, std::string)
intset_buffer_size (unsigned int)
intset_device_name (std::string)
intset_sample_rate (float)
boolsetup_required ()
intstart (bool)
intstop (bool)

Inherited from ARDOUR:PortManager

Methods
intconnect (std::string, std::string)
boolconnected (std::string)
intdisconnect (std::string, std::string)
intdisconnect_port (Port)
LuaTable(int, ...)get_backend_ports (std::string, DataType, PortFlags, StringVector&)
LuaTable(int, ...)get_connections (std::string, StringVector&)
voidget_physical_inputs (DataType, StringVector&)
voidget_physical_outputs (DataType, StringVector&)
Portget_port_by_name (std::string)
name
Full or short name of port

Returns Corresponding Port or 0.

LuaTable(int, ...)get_ports (DataType, PortList&)
std::stringget_pretty_name_by_name (std::string)
ChanCountn_physical_inputs ()
ChanCountn_physical_outputs ()
boolphysically_connected (std::string)
--MISSING (ARDOUR::PortEngine&)--port_engine ()
boolport_is_physical (std::string)

 ARDOUR:AudioPort

C‡: boost::shared_ptr< ARDOUR::AudioPort >, boost::weak_ptr< ARDOUR::AudioPort >

is-a: ARDOUR:Port

Methods
boolisnil ()

Inherited from ARDOUR:Port

Methods
intconnect (Port)
intconnect_by_name (std::string)
boolconnected ()

Returns true if this port is connected to anything

boolconnected_to (Port)
boolconnected_to_name (std::string)
intdisconnect (Port)
intdisconnect_all ()
intdisconnect_by_name (std::string)
std::stringname ()

Returns Port short name

std::stringpretty_name (bool)

Returns Port human readable name

boolreceives_input ()

Returns true if this Port receives input, otherwise false

boolsends_output ()

Returns true if this Port sends output, otherwise false

 ARDOUR:AudioRange

C‡: ARDOUR::AudioRange

Constructor
ARDOUR.AudioRange (long, long, unsigned int)
Methods
boolequal (AudioRange)
longlength ()
Data Members
longend
unsigned intid
longstart

 ARDOUR:AudioRangeList

C‡: std::list<ARDOUR::AudioRange >

Constructor
ARDOUR.AudioRangeList ()
Methods
boolempty ()
LuaIteriter ()
voidreverse ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR:AudioSource

C‡: boost::shared_ptr< ARDOUR::AudioSource >, boost::weak_ptr< ARDOUR::AudioSource >

is-a: ARDOUR:Source

A named object associated with a Session. Objects derived from this class are expected to be destroyed before the session calls drop_references().

Methods
boolisnil ()
unsigned intn_channels ()
longreadable_length ()

 ARDOUR:AudioTrack

C‡: boost::shared_ptr< ARDOUR::AudioTrack >, boost::weak_ptr< ARDOUR::AudioTrack >

is-a: ARDOUR:Track

A track is an route (bus) with a recordable diskstream and related objects relevant to tracking, playback and editing.

Specifically a track has regions and playlist objects.

Methods
boolisnil ()

Inherited from ARDOUR:Track

Methods
Regionbounce (InterThreadInfo&)

bounce track from session start to session end to new region

itt
asynchronous progress report and cancel

Returns a new audio region (or nil in case of error)

Regionbounce_range (long, long, InterThreadInfo&, Processor, bool)

Bounce the given range to a new audio region.

start
start time (in samples)
end
end time (in samples)
itt
asynchronous progress report and cancel
endpoint
the processor to tap the signal off (or nil for the top)
include_endpoint
include the given processor in the bounced audio.

Returns a new audio region (or nil in case of error)

boolbounceable (Processor, bool)

Test if the track can be bounced with the given settings. If sends/inserts/returns are present in the signal path or the given track has no audio outputs bouncing is not possible.

endpoint
the processor to tap the signal off (or nil for the top)
include_endpoint
include the given processor in the bounced audio.

Returns true if the track can be bounced, or false otherwise.

boolcan_record ()
Playlistplaylist ()
boolrecord_enabled ()
boolrecord_safe ()
boolset_name (std::string)
voidset_record_enabled (bool, GroupControlDisposition)
voidset_record_safe (bool, GroupControlDisposition)
Cast
AudioTrackto_audio_track ()
MidiTrackto_midi_track ()

Inherited from ARDOUR:Route

Methods
boolactive ()
intadd_processor_by_index (Processor, int, ProcessorStreams, bool)

Add a processor to a route such that it ends up with a given index into the visible processors.

index
Index to add the processor at, or -1 to add at the end of the list.

Returns 0 on success, non-0 on failure.

booladd_sidechain (Processor)
Ampamp ()
std::stringcomment ()
boolcustomize_plugin_insert (Processor, unsigned int, ChanCount, ChanCount)

enable custom plugin-insert configuration

proc
Processor to customize
count
number of plugin instances to use (if zero, reset to default)
outs
output port customization
sinks
input pins for variable-I/O plugins

Returns true if successful

Deliverymain_outs ()

the signal processorat at end of the processing chain which produces output

boolmuted ()
ChanCountn_inputs ()
ChanCountn_outputs ()
Processornth_plugin (unsigned int)
intremove_processor (Processor, ProcessorStreams, bool)

remove plugin/processor

proc
processor to remove
err
error report (index where removal vailed, channel-count why it failed) may be nil
need_process_lock
if locking is required (set to true, unless called from RT context with lock)

Returns 0 on success

boolremove_sidechain (Processor)
intreplace_processor (Processor, Processor, ProcessorStreams)

replace plugin/processor with another

old
processor to remove
sub
processor to substitute the old one with
err
error report (index where removal vailed, channel-count why it failed) may be nil

Returns 0 on success

boolreset_plugin_insert (Processor)

reset plugin-insert configuration to default, disable customizations.

This is equivalent to calling

 customize_plugin_insert (proc, 0, unused)
proc
Processor to reset

Returns true if successful

voidset_active (bool, void*)
voidset_comment (std::string, void*)
boolset_strict_io (bool)
boolsoloed ()
boolstrict_io ()
Amptrim ()
Cast
Trackto_track ()

Inherited from ARDOUR:SessionObject

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:AudioTrackList

C‡: std::list<boost::shared_ptr<ARDOUR::AudioTrack> >

Constructor
ARDOUR.AudioTrackList ()
Methods
LuaTableadd (LuaTable {AudioTrack})
boolempty ()
LuaIteriter ()
voidpush_back (AudioTrack)
voidreverse ()
unsigned longsize ()
LuaTabletable ()
voidunique ()

 ARDOUR:Automatable

C‡: boost::shared_ptr< ARDOUR::Automatable >, boost::weak_ptr< ARDOUR::Automatable >

is-a: Evoral:ControlSet

Methods
AutomationControlautomation_control (Parameter, bool)
boolisnil ()

 ARDOUR:AutomationControl

C‡: boost::shared_ptr< ARDOUR::AutomationControl >, boost::weak_ptr< ARDOUR::AutomationControl >

is-a: PBD:Controllable

A PBD::Controllable with associated automation data (AutomationList)

Methods
AutomationListalist ()
AutoStateautomation_state ()
AutoStyleautomation_style ()
doubleget_value ()

Get the current effective `user' value based on automation state

boolisnil ()
voidset_automation_state (AutoState)
voidset_automation_style (AutoStyle)
voidset_value (double, GroupControlDisposition)

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.
voidstart_touch (double)
voidstop_touch (bool, double)
boolwritable ()
Cast
Controlto_ctrl ()

Inherited from PBD:Controllable

Methods
std::stringname ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:AutomationList

C‡: boost::shared_ptr< ARDOUR::AutomationList >, boost::weak_ptr< ARDOUR::AutomationList >

AutomationList is a stateful wrapper around Evoral::ControlList. It includes session-specifics (such as automation state), control logic (e.g. touch, signals) and acts as proxy to the underlying ControlList which holds the actual data.

Methods
XMLNodeget_state ()
boolisnil ()
Commandmemento_command (XMLNode, XMLNode)
booltouch_enabled ()
booltouching ()
boolwriting ()
Cast
ControlListlist ()
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:BackendVector

C‡: std::vector<ARDOUR::AudioBackendInfo const* >

Constructor
ARDOUR.BackendVector ()
Methods
LuaTableadd (LuaTable {ARDOUR::AudioBackendInfo* })
AudioBackendInfoat (unsigned long)
boolempty ()
LuaIteriter ()
voidpush_back (AudioBackendInfo)
unsigned longsize ()
LuaTabletable ()

 ARDOUR:BufferSet

C‡: ARDOUR::BufferSet

A set of buffers of various types.

These are mainly accessed from Session and passed around as scratch buffers (eg as parameters to run() methods) to do in-place signal processing.

There are two types of counts associated with a BufferSet - available, and the 'use count'. Available is the actual number of allocated buffers (and so is the maximum acceptable value for the use counts).

The use counts are how things determine the form of their input and inform others the form of their output (eg what they did to the BufferSet). Setting the use counts is realtime safe.

Methods
ChanCountcount ()
AudioBufferget_audio (unsigned long)
boolsameinstance (BufferSet)

 ARDOUR:ChanCount

C‡: ARDOUR::ChanCount

A 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)

type
data type
count
number of channels
Methods
unsigned intget (DataType)

query channel count for given type

type
data type

Returns channel count for given type

unsigned intn_audio ()

query number of audio channels

Returns number of audio channels

unsigned intn_midi ()

query number of midi channels

Returns number of midi channels

unsigned intn_total ()

query total channel count of all data types

Returns total channel count (audio + midi)

voidreset ()

zero count of all data types

voidset (DataType, unsigned int)

set channel count for given type

count
number of channels
type
data type

 ARDOUR:ChanMapping

C‡: ARDOUR::ChanMapping

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 intget (DataType, unsigned int)

get buffer mapping for given data type and pin

from
numeric source id
type
data type

Returns mapped buffer number (or ChanMapping::Invalid)

voidset (DataType, unsigned int, unsigned int)

set buffer mapping for given data type

from
numeric source id
to
buffer
type
data type

 ARDOUR.DSP

Methods
floataccurate_coefficient_to_dB (float)
voidapply_gain_to_buffer (FloatArray, unsigned int, float)
floatcompute_peak (FloatArray, unsigned int, float)
voidcopy_vector (FloatArray, FloatArray, unsigned int)
floatdB_to_coefficient (float)
floatfast_coefficient_to_dB (float)
voidfind_peaks (FloatArray, unsigned int, FloatArray, FloatArray)
floatlog_meter (float)

non-linear power-scale meter deflection

power
signal power (dB)

Returns deflected value

floatlog_meter_coeff (float)

non-linear power-scale meter deflection

coeff
signal value

Returns deflected value

voidmemset (FloatArray, float, unsigned int)

lua wrapper to memset()

voidmix_buffers_no_gain (FloatArray, FloatArray, unsigned int)
voidmix_buffers_with_gain (FloatArray, FloatArray, unsigned int, float)
voidmmult (FloatArray, FloatArray, unsigned int)

matrix multiply multiply every sample of `data' with the corresponding sample at `mult'.

data
multiplicand
mult
multiplicand
n_samples
number of samples in data and mmult
LuaTable(...)peaks (FloatArray, float&, float&, unsigned int)

calculate peaks

data
data to analyze
min
result, minimum value found in range
max
result, max value found in range
n_samples
number of samples to analyze

 ARDOUR:DSP:Biquad

C‡: ARDOUR::DSP::Biquad

Biquad Filter

Constructor
ARDOUR.DSP.Biquad (double)

Instantiate Biquad Filter

samplerate
Samplerate
Methods
voidcompute (Type, double, double, double)

setup filter, compute coefficients

type
filter type (LowPass, HighPass, etc)
freq
filter frequency
Q
filter quality
gain
filter gain
floatdB_at_freq (float)

filter transfer function (filter response for spectrum visualization)

freq
frequency

Returns gain at given frequency in dB (clamped to -120..+120)

voidreset ()

reset filter state

voidrun (FloatArray, unsigned int)

process audio data

data
pointer to audio-data
n_samples
number of samples to process

 ARDOUR:DSP:DspShm

C‡: ARDOUR::DSP::DspShm

C/C++ Shared Memory

A convenience class representing a C array of float[] or int32_t[] data values. This is useful for lua scripts to perform DSP operations directly using C/C++ with CPU Hardware acceleration.

Access to this memory area is always 4 byte aligned. The data is interpreted either as float or as int.

This memory area can also be shared between different instances or the same lua plugin (DSP, GUI).

Since memory allocation is not realtime safe it should be allocated during dsp_init() or dsp_configure(). The memory is free()ed automatically when the lua instance is destroyed.

Methods
voidallocate (unsigned long)

[re] allocate memory in host's memory space

s
size, total number of float or integer elements to store.
intatomic_get_int (unsigned long)

atomically read integer at offset

This involves a memory barrier. This call is intended for buffers which are shared with another instance.

off
offset in shared memory region

Returns value at offset

voidatomic_set_int (unsigned long, int)

atomically set integer at offset

This involves a memory barrier. This call is intended for buffers which are shared with another instance.

off
offset in shared memory region
val
value to set
voidclear ()

clear memory (set to zero)

FloatArrayto_float (unsigned long)

access memory as float array

off
offset in shared memory region

Returns float[]

IntArrayto_int (unsigned long)

access memory as integer array

off
offset in shared memory region

Returns int_32_t[]

 ARDOUR:DSP:LowPass

C‡: ARDOUR::DSP::LowPass

1st order Low Pass filter

Constructor
ARDOUR.DSP.LowPass (double, float)

instantiate a LPF

samplerate
samplerate
freq
cut-off frequency
Methods
voidctrl (FloatArray, float, unsigned int)

filter control data

This is useful for parameter smoothing.

data
pointer to control-data array
val
target value
array
length
voidproc (FloatArray, unsigned int)

process audio data

data
pointer to audio-data
n_samples
number of samples to process
voidreset ()

reset filter state

voidset_cutoff (float)

update filter cut-off frequency

freq
cut-off frequency

 ARDOUR:DataType

C‡: ARDOUR::DataType

A type of Data Ardour is capable of processing.

The majority of this class is dedicated to conversion to and from various other type representations, simple comparison between then, etc. This code is deliberately 'ugly' so other code doesn't have to be.

Constructor
ARDOUR.DataType (std::string)
Methods
DataTypeaudio ()

convenience constructor for DataType::AUDIO with managed lifetime

Returns DataType::AUDIO

DataTypemidi ()

convenience constructor for DataType::MIDI with managed lifetime

Returns DataType::MIDI

DataTypenull ()

convenience constructor for DataType::NIL with managed lifetime

Returns DataType::NIL

char*to_string ()

Inverse of the from-string constructor

 ARDOUR:Delivery

C‡: boost::shared_ptr< ARDOUR::Delivery >, boost::weak_ptr< ARDOUR::Delivery >

is-a: ARDOUR:IOProcessor

A mixer strip element (Processor) with 1 or 2 IO elements.

Methods
boolisnil ()

Inherited from ARDOUR:IOProcessor

Methods
IOinput ()
ChanCountnatural_input_streams ()
ChanCountnatural_output_streams ()
IOoutput ()

Inherited from ARDOUR:Processor

Methods
voidactivate ()
boolactive ()
AutomationControlautomation_control (Parameter, bool)
Controlcontrol (Parameter, bool)
voiddeactivate ()
std::stringdisplay_name ()
Cast
Automatableto_automatable ()
PluginInsertto_insert ()
IOProcessorto_ioprocessor ()
SideChainto_sidechain ()

Inherited from ARDOUR:SessionObject

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:DeviceStatus

C‡: ARDOUR::AudioBackend::DeviceStatus

used to list device names along with whether or not they are currently available.

Data Members
boolavailable
std::stringname

 ARDOUR:DeviceStatusVector

C‡: std::vector<ARDOUR::AudioBackend::DeviceStatus >

Constructor
ARDOUR.DeviceStatusVector ()
Methods
LuaTableadd (LuaTable {DeviceStatus})
DeviceStatusat (unsigned long)
boolempty ()
LuaIteriter ()
voidpush_back (DeviceStatus)
unsigned longsize ()
LuaTabletable ()

 ARDOUR:GainControl

C‡: boost::shared_ptr< ARDOUR::GainControl >, boost::weak_ptr< ARDOUR::GainControl >

is-a: ARDOUR:AutomationControl

A PBD::Controllable with associated automation data (AutomationList)

Methods
boolisnil ()

Inherited from ARDOUR:AutomationControl

Methods
AutomationListalist ()
AutoStateautomation_state ()
AutoStyleautomation_style ()
doubleget_value ()

Get the current effective `user' value based on automation state

voidset_automation_state (AutoState)
voidset_automation_style (AutoStyle)
voidset_value (double, GroupControlDisposition)

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.
voidstart_touch (double)
voidstop_touch (bool, double)
boolwritable ()
Cast
Controlto_ctrl ()

Inherited from PBD:Controllable

Methods
std::stringname ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:IO

C‡: boost::shared_ptr< ARDOUR::IO >, boost::weak_ptr< ARDOUR::IO >

is-a: ARDOUR:SessionObject

A collection of ports (all input or all output) with connections.

An IO can contain ports of varying types, making routes/inserts/etc with varied combinations of types (eg MIDI and audio) possible.

Methods
boolactive ()
intadd_port (std::string, void*, DataType)

Add a port.

destination
Name of port to connect new port to.
src
Source for emitted ConfigurationChanged signal.
type
Data type of port. Default value (NIL) will use this IO's default type.
AudioPortaudio (unsigned int)
intconnect (Port, std::string, void*)
intdisconnect (Port, std::string, void*)
boolhas_port (Port)
boolisnil ()
MidiPortmidi (unsigned int)
ChanCountn_ports ()
Portnth (unsigned int)
boolphysically_connected ()
Portport_by_name (unsigned int)
intremove_port (Port, void*)

Inherited from ARDOUR:SessionObject

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:IOProcessor

C‡: boost::shared_ptr< ARDOUR::IOProcessor >, boost::weak_ptr< ARDOUR::IOProcessor >

is-a: ARDOUR:Processor

A mixer strip element (Processor) with 1 or 2 IO elements.

Methods
IOinput ()
boolisnil ()
ChanCountnatural_input_streams ()
ChanCountnatural_output_streams ()
IOoutput ()

Inherited from ARDOUR:Processor

Methods
voidactivate ()
boolactive ()
AutomationControlautomation_control (Parameter, bool)
Controlcontrol (Parameter, bool)
voiddeactivate ()
std::stringdisplay_name ()
Cast
Automatableto_automatable ()
PluginInsertto_insert ()
IOProcessorto_ioprocessor ()
SideChainto_sidechain ()

Inherited from ARDOUR:SessionObject

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:InterThreadInfo

C‡: ARDOUR::InterThreadInfo

Constructor
ARDOUR.InterThreadInfo ()
Data Members
booldone
floatprogress

 ARDOUR:Location

C‡: ARDOUR::Location

is-a: PBD:StatefulDestructible

Location on Timeline - abstract representation for Markers, Loop/Punch Ranges, CD-Markers etc.

Methods
longend ()
longlength ()
voidlock ()
boollocked ()
intmove_to (long)
intset_end (long, bool, bool)

Set end position.

force
true to force setting, even if the given new end is before the current start.
allow_bbt_recompute
True to recompute BBT end time from the new given end time.
s
New end.
intset_length (long, long, bool)
intset_start (long, bool, bool)

Set start position.

s
New start.
force
true to force setting, even if the given new start is after the current end.
allow_bbt_recompute
True to recompute BBT start time from the new given start time.
longstart ()

Inherited from PBD:Stateful

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:LocationList

C‡: std::list<ARDOUR::Location* >

Constructor
ARDOUR.LocationList ()
Methods
boolempty ()
LuaIteriter ()
voidreverse ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR:Locations

C‡: ARDOUR::Locations

is-a: PBD:StatefulDestructible

A collection of session locations including unique dedicated locations (loop, punch, etc)

Methods
Locationauto_loop_location ()
Locationauto_punch_location ()
LuaTable(...)find_all_between (long, long, LocationList&, Flags)
longfirst_mark_after (long, bool)
Locationfirst_mark_at (long, long)
longfirst_mark_before (long, bool)
LuaTable(...)marks_either_side (long, long&, long&)

Look for the `marks' (either locations which are marks, or start/end points of range markers) either side of a frame. Note that if frame is exactly on a `mark', that mark will not be considered for returning as before/after.

frame
Frame to look for.
before
Filled in with the position of the last `mark' before `frame' (or max_framepos if none exists)
after
Filled in with the position of the next `mark' after `frame' (or max_framepos if none exists)
Locationsession_range_location ()

Inherited from PBD:Stateful

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR.LuaAPI

Methods
Processornew_luaproc (Session, std::string)

create a new Lua Processor (Plugin)

s
Session Handle
p
Identifier or Name of the Processor

Returns Processor object (may be nil)

Processornew_plugin (Session, std::string, PluginType, std::string)

create a new Plugin Instance

s
Session Handle
id
Plugin Name, ID or URI
type
Plugin Type

Returns Processor or nil

PluginInfonew_plugin_info (std::string, PluginType)

search a Plugin

id
Plugin Name, ID or URI
type
Plugin Type

Returns PluginInfo or nil if not found

Processornil_proc ()
LuaTableplugin_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

boolset_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

boolset_processor_param (Processor, unsigned int, float)

set a plugin control-input parameter value

proc
Plugin-Processor
which
control-input to set (starting at 0)
value
value to set

Returns true on success, false on error or out-of-bounds value

voidusleep (unsigned long)

 ARDOUR:LuaOSC:Address

C‡: ARDOUR::LuaOSC::Address

OSC transmitter

A Class to send OSC messages.

Constructor
ARDOUR.LuaOSC.Address (std::string)

Construct a new OSC transmitter object

uri
the destination uri e.g. "osc.udp://localhost:7890"
Methods
...send (--lua--)

Transmit an OSC message

Path (string) and type (string) must always be given. The number of following args must match the type. Supported types are:

'i': integer (lua number)

'f': float (lua number)

'd': double (lua number)

'h': 64bit integer (lua number)

's': string (lua string)

'c': character (lua string)

'T': boolean (lua bool) -- this is not implicily True, a lua true/false must be given

'F': boolean (lua bool) -- this is not implicily False, a lua true/false must be given

lua:
lua arguments: path, types, ...

Returns boolean true if successful, false on error.

 ARDOUR:Meter

C‡: ARDOUR::Meter

Meter, or time signature (beats per bar, and which note type is a beat).

Constructor
ARDOUR.Meter (double, double)
Methods
doubledivisions_per_bar ()
doubleframes_per_bar (Tempo, long)
doubleframes_per_grid (Tempo, long)
doublenote_divisor ()

 ARDOUR:MidiBuffer

C‡: ARDOUR::MidiBuffer

Buffer containing 8-bit unsigned char (MIDI) data.

Methods
boolempty ()
boolsameinstance (MidiBuffer)
voidsilence (long, long)

Clear (eg zero, or empty) buffer

 ARDOUR:MidiPort

C‡: boost::shared_ptr< ARDOUR::MidiPort >, boost::weak_ptr< ARDOUR::MidiPort >

is-a: ARDOUR:Port

Methods
boolinput_active ()
boolisnil ()
voidset_input_active (bool)

Inherited from ARDOUR:Port

Methods
intconnect (Port)
intconnect_by_name (std::string)
boolconnected ()

Returns true if this port is connected to anything

boolconnected_to (Port)
boolconnected_to_name (std::string)
intdisconnect (Port)
intdisconnect_all ()
intdisconnect_by_name (std::string)
std::stringname ()

Returns Port short name

std::stringpretty_name (bool)

Returns Port human readable name

boolreceives_input ()

Returns true if this Port receives input, otherwise false

boolsends_output ()

Returns true if this Port sends output, otherwise false

 ARDOUR:MidiTrack

C‡: boost::shared_ptr< ARDOUR::MidiTrack >, boost::weak_ptr< ARDOUR::MidiTrack >

is-a: ARDOUR:Track

A track is an route (bus) with a recordable diskstream and related objects relevant to tracking, playback and editing.

Specifically a track has regions and playlist objects.

Methods
boolisnil ()

Inherited from ARDOUR:Track

Methods
Regionbounce (InterThreadInfo&)

bounce track from session start to session end to new region

itt
asynchronous progress report and cancel

Returns a new audio region (or nil in case of error)

Regionbounce_range (long, long, InterThreadInfo&, Processor, bool)

Bounce the given range to a new audio region.

start
start time (in samples)
end
end time (in samples)
itt
asynchronous progress report and cancel
endpoint
the processor to tap the signal off (or nil for the top)
include_endpoint
include the given processor in the bounced audio.

Returns a new audio region (or nil in case of error)

boolbounceable (Processor, bool)

Test if the track can be bounced with the given settings. If sends/inserts/returns are present in the signal path or the given track has no audio outputs bouncing is not possible.

endpoint
the processor to tap the signal off (or nil for the top)
include_endpoint
include the given processor in the bounced audio.

Returns true if the track can be bounced, or false otherwise.

boolcan_record ()
Playlistplaylist ()
boolrecord_enabled ()
boolrecord_safe ()
boolset_name (std::string)
voidset_record_enabled (bool, GroupControlDisposition)
voidset_record_safe (bool, GroupControlDisposition)
Cast
AudioTrackto_audio_track ()
MidiTrackto_midi_track ()

Inherited from ARDOUR:Route

Methods
boolactive ()
intadd_processor_by_index (Processor, int, ProcessorStreams, bool)

Add a processor to a route such that it ends up with a given index into the visible processors.

index
Index to add the processor at, or -1 to add at the end of the list.

Returns 0 on success, non-0 on failure.

booladd_sidechain (Processor)
Ampamp ()
std::stringcomment ()
boolcustomize_plugin_insert (Processor, unsigned int, ChanCount, ChanCount)

enable custom plugin-insert configuration

proc
Processor to customize
count
number of plugin instances to use (if zero, reset to default)
outs
output port customization
sinks
input pins for variable-I/O plugins

Returns true if successful

Deliverymain_outs ()

the signal processorat at end of the processing chain which produces output

boolmuted ()
ChanCountn_inputs ()
ChanCountn_outputs ()
Processornth_plugin (unsigned int)
intremove_processor (Processor, ProcessorStreams, bool)

remove plugin/processor

proc
processor to remove
err
error report (index where removal vailed, channel-count why it failed) may be nil
need_process_lock
if locking is required (set to true, unless called from RT context with lock)

Returns 0 on success

boolremove_sidechain (Processor)
intreplace_processor (Processor, Processor, ProcessorStreams)

replace plugin/processor with another

old
processor to remove
sub
processor to substitute the old one with
err
error report (index where removal vailed, channel-count why it failed) may be nil

Returns 0 on success

boolreset_plugin_insert (Processor)

reset plugin-insert configuration to default, disable customizations.

This is equivalent to calling

 customize_plugin_insert (proc, 0, unused)
proc
Processor to reset

Returns true if successful

voidset_active (bool, void*)
voidset_comment (std::string, void*)
boolset_strict_io (bool)
boolsoloed ()
boolstrict_io ()
Amptrim ()
Cast
Trackto_track ()

Inherited from ARDOUR:SessionObject

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:MidiTrackList

C‡: std::list<boost::shared_ptr<ARDOUR::MidiTrack> >

Constructor
ARDOUR.MidiTrackList ()
Methods
LuaTableadd (LuaTable {MidiTrack})
boolempty ()
LuaIteriter ()
voidpush_back (MidiTrack)
voidreverse ()
unsigned longsize ()
LuaTabletable ()
voidunique ()

 ARDOUR:OwnedPropertyList

C‡: PBD::OwnedPropertyList

is-a: ARDOUR:PropertyList

A variant of PropertyList that does not delete its property list in its destructor. Objects with their own Properties store them in an OwnedPropertyList to avoid having them deleted at the wrong time.

This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.

 ARDOUR:ParameterDescriptor

C‡: ARDOUR::ParameterDescriptor

is-a: Evoral:ParameterDescriptor

Descriptor of a parameter or control.

Essentially a union of LADSPA, VST and LV2 info.

Constructor
ARDOUR.ParameterDescriptor ()
Data Members
std::stringlabel
boollogarithmic

Inherited from Evoral:ParameterDescriptor

Constructor
Evoral.ParameterDescriptor ()
Data Members
floatlower
floatnormal
booltoggled
floatupper

 ARDOUR:Playlist

C‡: boost::shared_ptr< ARDOUR::Playlist >, boost::weak_ptr< ARDOUR::Playlist >

is-a: ARDOUR:SessionObject

A named object associated with a Session. Objects derived from this class are expected to be destroyed before the session calls drop_references().

Methods
voidadd_region (Region, long, float, bool)

Note: this calls set_layer (..., DBL_MAX) so it will reset the layering index of region

Regioncombine (RegionList)
unsigned intcount_regions_at (long)
Playlistcut (AudioRangeList&, bool)
DataTypedata_type ()
voidduplicate (Region, long, long, float)
gap
from the beginning of the region to the next beginning
voidduplicate_range (AudioRange&, float)
voidduplicate_until (Region, long, long, long)
gap
from the beginning of the region to the next beginning
end
the first frame that does _not_ contain a duplicated frame
Regionfind_next_region (long, RegionPoint, int)
longfind_next_region_boundary (long, int)
boolisnil ()
voidlower_region (Region)
voidlower_region_to_bottom (Region)
unsigned intn_regions ()
voidraise_region (Region)
voidraise_region_to_top (Region)
Regionregion_by_id (ID)
RegionListPtrregions_at (long)
RegionListPtrregions_touched (long, long)
start
Range start.
end
Range end.

Returns regions which have some part within this range.

RegionListPtrregions_with_end_within (Range)
RegionListPtrregions_with_start_within (Range)
voidremove_region (Region)
voidsplit (long)
voidsplit_region (Region, long)
Regiontop_region_at (long)
Regiontop_unmuted_region_at (long)
voiduncombine (Region)

Inherited from ARDOUR:SessionObject

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:Plugin

C‡: boost::shared_ptr< ARDOUR::Plugin >, boost::weak_ptr< ARDOUR::Plugin >

is-a: PBD:StatefulDestructiblePtr

A plugin is an external module (usually 3rd party provided) loaded into Ardour for the purpose of digital signal processing.

This class provides an abstraction for methords provided by all supported plugin standards such as presets, name, parameters etc.

Plugins are not used directly in Ardour but always wrapped by a PluginInsert.

Methods
std::stringget_docs ()
LuaTable(int, ...)get_parameter_descriptor (unsigned int, ParameterDescriptor&)
std::stringget_parameter_docs (unsigned int)
boolisnil ()
char*label ()
boolload_preset (PresetRecord)

Set parameters using a preset

char*maker ()
char*name ()
LuaTable(unsigned int, ...)nth_parameter (unsigned int, bool&)
unsigned intparameter_count ()
boolparameter_is_input (unsigned int)
PresetRecordpreset_by_label (std::string)
PresetRecordpreset_by_uri (std::string)

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:PluginControl

C‡: boost::shared_ptr< ARDOUR::PluginInsert::PluginControl >, boost::weak_ptr< ARDOUR::PluginInsert::PluginControl >

is-a: ARDOUR:AutomationControl

A control that manipulates a plugin parameter (control port).

Methods
boolisnil ()

Inherited from ARDOUR:AutomationControl

Methods
AutomationListalist ()
AutoStateautomation_state ()
AutoStyleautomation_style ()
doubleget_value ()

Get the current effective `user' value based on automation state

voidset_automation_state (AutoState)
voidset_automation_style (AutoStyle)
voidset_value (double, GroupControlDisposition)

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.
voidstart_touch (double)
voidstop_touch (bool, double)
boolwritable ()
Cast
Controlto_ctrl ()

Inherited from PBD:Controllable

Methods
std::stringname ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:PluginInfo

C‡: boost::shared_ptr< ARDOUR::PluginInfo >, boost::weak_ptr< ARDOUR::PluginInfo >

Constructor
ARDOUR.PluginInfo ()
Methods
boolisnil ()

 ARDOUR:PluginInsert

C‡: boost::shared_ptr< ARDOUR::PluginInsert >, boost::weak_ptr< ARDOUR::PluginInsert >

is-a: ARDOUR:Processor

Plugin inserts: send data through a plugin

Methods
voidactivate ()
voiddeactivate ()
ChanMappinginput_map (unsigned int)
boolisnil ()
ChanMappingoutput_map (unsigned int)
Pluginplugin (unsigned int)
voidset_input_map (unsigned int, ChanMapping)
voidset_output_map (unsigned int, ChanMapping)
IOsidechain_input ()
boolstrict_io_configured ()

Inherited from ARDOUR:Processor

Methods
boolactive ()
AutomationControlautomation_control (Parameter, bool)
Controlcontrol (Parameter, bool)
std::stringdisplay_name ()
Cast
Automatableto_automatable ()
PluginInsertto_insert ()
IOProcessorto_ioprocessor ()
SideChainto_sidechain ()

Inherited from ARDOUR:SessionObject

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:Port

C‡: boost::shared_ptr< ARDOUR::Port >, boost::weak_ptr< ARDOUR::Port >

Methods
intconnect (Port)
intconnect_by_name (std::string)
boolconnected ()

Returns true if this port is connected to anything

boolconnected_to (Port)
boolconnected_to_name (std::string)
intdisconnect (Port)
intdisconnect_all ()
intdisconnect_by_name (std::string)
boolisnil ()
std::stringname ()

Returns Port short name

std::stringpretty_name (bool)

Returns Port human readable name

boolreceives_input ()

Returns true if this Port receives input, otherwise false

boolsends_output ()

Returns true if this Port sends output, otherwise false

 ARDOUR:PortList

C‡: std::list<boost::shared_ptr<ARDOUR::Port> >

Constructor
ARDOUR.PortList ()
Methods
boolempty ()
LuaIteriter ()
voidreverse ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR:PortManager

C‡: ARDOUR::PortManager

Methods
intconnect (std::string, std::string)
boolconnected (std::string)
intdisconnect (std::string, std::string)
intdisconnect_port (Port)
LuaTable(int, ...)get_backend_ports (std::string, DataType, PortFlags, StringVector&)
LuaTable(int, ...)get_connections (std::string, StringVector&)
voidget_physical_inputs (DataType, StringVector&)
voidget_physical_outputs (DataType, StringVector&)
Portget_port_by_name (std::string)
name
Full or short name of port

Returns Corresponding Port or 0.

LuaTable(int, ...)get_ports (DataType, PortList&)
std::stringget_pretty_name_by_name (std::string)
ChanCountn_physical_inputs ()
ChanCountn_physical_outputs ()
boolphysically_connected (std::string)
--MISSING (ARDOUR::PortEngine&)--port_engine ()
boolport_is_physical (std::string)

 ARDOUR:PortSet

C‡: boost::shared_ptr< ARDOUR::PortSet >, boost::weak_ptr< ARDOUR::PortSet >

An ordered list of Ports, possibly of various types.

This allows access to all the ports as a list, ignoring type, or accessing the nth port of a given type. Note that port(n) and nth_audio_port(n) may NOT return the same port.

Each port is held twice; once in a per-type vector of vectors (_ports) and once in a vector of all port (_all_ports). This is to speed up the fairly common case of iterating over all ports.

Methods
voidadd (Port)
voidclear ()

Remove all ports from the PortSet. Ports are not deregistered with the engine, it's the caller's responsibility to not leak here!

boolcontains (Port)
boolempty ()
boolisnil ()
unsigned longnum_ports (DataType)
Portport (DataType, unsigned long)

nth port of type t, or nth port if t = NIL

t
data type
index
port index
boolremove (Port)

 ARDOUR:PresetRecord

C‡: ARDOUR::Plugin::PresetRecord

Constructor
ARDOUR.PresetRecord ()
Data Members
std::stringlabel
std::stringuri
booluser
boolvalid

 ARDOUR:Processor

C‡: boost::shared_ptr< ARDOUR::Processor >, boost::weak_ptr< ARDOUR::Processor >

is-a: ARDOUR:SessionObject

A mixer strip element - plugin, send, meter, etc

Methods
voidactivate ()
boolactive ()
AutomationControlautomation_control (Parameter, bool)
Controlcontrol (Parameter, bool)
voiddeactivate ()
std::stringdisplay_name ()
boolisnil ()
Cast
Automatableto_automatable ()
PluginInsertto_insert ()
IOProcessorto_ioprocessor ()
SideChainto_sidechain ()

Inherited from ARDOUR:SessionObject

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:Properties:BoolProperty

C‡: PBD::PropertyDescriptor<bool>

This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.

 ARDOUR:Properties:FloatProperty

C‡: PBD::PropertyDescriptor<float>

This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.

 ARDOUR:Properties:FrameposProperty

C‡: PBD::PropertyDescriptor<long>

This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.

 ARDOUR:PropertyChange

C‡: PBD::PropertyChange

A list of IDs of Properties that have changed in some situation or other

Methods
boolcontainsBool (BoolProperty)
boolcontainsFloat (FloatProperty)
boolcontainsFramePos (FrameposProperty)

 ARDOUR:PropertyList

C‡: PBD::PropertyList

A list of properties, mapped using their ID

This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.

 ARDOUR:Region

C‡: boost::shared_ptr< ARDOUR::Region >, boost::weak_ptr< ARDOUR::Region >

is-a: ARDOUR:SessionObject

A named object associated with a Session. Objects derived from this class are expected to be destroyed before the session calls drop_references().

Methods
boolat_natural_position ()
boolautomatic ()
boolcan_move ()
boolcaptured ()
voidclear_sync_position ()
boolcovers (long)
voidcut_end (long)
voidcut_front (long)
DataTypedata_type ()
boolexternal ()
boolhidden ()
boolimport ()
boolis_compound ()
boolisnil ()
unsigned intlayer ()
longlength ()
boollocked ()
voidlower ()
voidlower_to_bottom ()
voidmove_start (long)
voidmove_to_natural_position ()
boolmuted ()
voidnudge_position (long)
boolopaque ()
longposition ()

How the region parameters play together:

POSITION: first frame of the region along the timeline START: first frame of the region within its source(s) LENGTH: number of frames the region represents

boolposition_locked ()
voidraise ()
voidraise_to_top ()
voidset_hidden (bool)
voidset_initial_position (long)

A 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.

voidset_length (long)
voidset_locked (bool)
voidset_muted (bool)
voidset_opaque (bool)
voidset_position (long)
voidset_position_locked (bool)
voidset_start (long)
voidset_sync_position (long)

Set the region's sync point.

absolute_pos
Session time.
voidset_video_locked (bool)
floatshift ()
longstart ()
floatstretch ()
boolsync_marked ()
LuaTable(long, ...)sync_offset (int&)
longsync_position ()

Returns Sync position in session time

voidtrim_end (long)
new_endpoint
New region end point, such that, for example, a region at 0 of length 10 has an endpoint of 9.
voidtrim_front (long)
voidtrim_to (long, long)
boolvideo_locked ()
boolwhole_file ()

Inherited from ARDOUR:SessionObject

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:RegionFactory

C‡: ARDOUR::RegionFactory

Methods
Regionregion_by_id (ID)

 ARDOUR:RegionList

C‡: std::list<boost::shared_ptr<ARDOUR::Region> >

Constructor
ARDOUR.RegionList ()
Methods
boolempty ()
LuaIteriter ()
voidreverse ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR:RegionListPtr

C‡: boost::shared_ptr<std::list<boost::shared_ptr<ARDOUR::Region> > >

Constructor
ARDOUR.RegionListPtr ()
Methods
LuaTableadd (LuaTable {Region})
boolempty ()
LuaIteriter ()
voidpush_back (Region)
voidreverse ()
unsigned longsize ()
LuaTabletable ()
voidunique ()

 ARDOUR:Route

C‡: boost::shared_ptr< ARDOUR::Route >, boost::weak_ptr< ARDOUR::Route >

is-a: ARDOUR:SessionObject

A named object associated with a Session. Objects derived from this class are expected to be destroyed before the session calls drop_references().

Methods
boolactive ()
intadd_processor_by_index (Processor, int, ProcessorStreams, bool)

Add a processor to a route such that it ends up with a given index into the visible processors.

index
Index to add the processor at, or -1 to add at the end of the list.

Returns 0 on success, non-0 on failure.

booladd_sidechain (Processor)
Ampamp ()
std::stringcomment ()
boolcustomize_plugin_insert (Processor, unsigned int, ChanCount, ChanCount)

enable custom plugin-insert configuration

proc
Processor to customize
count
number of plugin instances to use (if zero, reset to default)
outs
output port customization
sinks
input pins for variable-I/O plugins

Returns true if successful

boolisnil ()
Deliverymain_outs ()

the signal processorat at end of the processing chain which produces output

boolmuted ()
ChanCountn_inputs ()
ChanCountn_outputs ()
Processornth_plugin (unsigned int)
intremove_processor (Processor, ProcessorStreams, bool)

remove plugin/processor

proc
processor to remove
err
error report (index where removal vailed, channel-count why it failed) may be nil
need_process_lock
if locking is required (set to true, unless called from RT context with lock)

Returns 0 on success

boolremove_sidechain (Processor)
intreplace_processor (Processor, Processor, ProcessorStreams)

replace plugin/processor with another

old
processor to remove
sub
processor to substitute the old one with
err
error report (index where removal vailed, channel-count why it failed) may be nil

Returns 0 on success

boolreset_plugin_insert (Processor)

reset plugin-insert configuration to default, disable customizations.

This is equivalent to calling

 customize_plugin_insert (proc, 0, unused)
proc
Processor to reset

Returns true if successful

voidset_active (bool, void*)
voidset_comment (std::string, void*)
boolset_name (std::string)
boolset_strict_io (bool)
boolsoloed ()
boolstrict_io ()
Amptrim ()
Cast
Trackto_track ()

Inherited from ARDOUR:SessionObject

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:Route:ProcessorStreams

C‡: ARDOUR::Route::ProcessorStreams

A record of the stream configuration at some point in the processor list. Used to return where and why an processor list configuration request failed.

Constructor
ARDOUR.Route.ProcessorStreams ()

 ARDOUR:RouteGroup

C‡: ARDOUR::RouteGroup

A group identifier for routes.

RouteGroups permit to define properties which are shared among all Routes that use the given identifier.

A route can at most be in one group.

This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.

 ARDOUR:RouteList

C‡: std::list<boost::shared_ptr<ARDOUR::Route> >

Constructor
ARDOUR.RouteList ()
Methods
boolempty ()
LuaIteriter ()
voidreverse ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR:RouteListPtr

C‡: boost::shared_ptr<std::list<boost::shared_ptr<ARDOUR::Route> > >

Constructor
ARDOUR.RouteListPtr ()
Methods
LuaTableadd (LuaTable {Route})
boolempty ()
LuaIteriter ()
voidpush_back (Route)
voidreverse ()
unsigned longsize ()
LuaTabletable ()
voidunique ()

 ARDOUR:Session

C‡: ARDOUR::Session

Ardour Session

Methods
voidabort_reversible_command ()

abort an open undo command This must only be called after begin_reversible_command ()

boolactively_recording ()
voidadd_command (Command)
StatefulDiffCommandadd_stateful_diff_command (StatefulDestructiblePtr)

create an StatefulDiffCommand from the given object and add it to the stack.

This function must only be called after begin_reversible_command. Failing to do so may lead to a crash.

sfd
the object to diff

Returns the allocated StatefulDiffCommand (already added via add_command)

voidbegin_reversible_command (std::string)

begin collecting undo information

This call must always be followed by either begin_reversible_command() or commit_reversible_command()

cmd_name
human readable name for the undo operation
voidcommit_reversible_command (Command)

finalize an undo command and commit pending transactions

This must only be called after begin_reversible_command ()

cmd
(additional) command to add
Controllablecontrollable_by_id (ID)
longcurrent_end_frame ()
longcurrent_start_frame ()
AudioEngineengine ()
longframe_rate ()

"actual" sample rate of session, set by current audioengine rate, pullup/down etc.

doubleframes_per_timecode_frame ()
unsigned intget_block_size ()
RouteListPtrget_routes ()
BufferSetget_scratch_buffers (ChanCount, bool)
BufferSetget_silent_buffers (ChanCount)
RouteListPtrget_tracks ()
voidgoto_end ()
voidgoto_start ()
longlast_transport_start ()
Locationslocations ()
Routemaster_out ()
Routemonitor_out ()
std::stringname ()
RouteListnew_audio_route (int, int, RouteGroup, unsigned int, std::string)

Caller must not hold process lock.

name_template
string to use for the start of the name, or "" to use "Bus".
AudioTrackListnew_audio_track (int, int, TrackMode, RouteGroup, unsigned int, std::string)

Caller must not hold process lock

name_template
string to use for the start of the name, or "" to use "Audio".
RouteListnew_midi_route (RouteGroup, unsigned int, std::string, PluginInfo, PresetRecord)
MidiTrackListnew_midi_track (ChanCount, ChanCount, PluginInfo, TrackMode, RouteGroup, unsigned int, std::string, PresetRecord)
RouteListnew_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

longnominal_frame_rate ()

"native" sample rate of session, regardless of current audioengine rate, pullup/down etc

std::stringpath ()
Processorprocessor_by_id (ID)
RecordStaterecord_status ()
voidrequest_locate (long, bool)
voidrequest_stop (bool, bool)
voidrequest_transport_speed (double, bool)
Routeroute_by_id (ID)
Routeroute_by_name (std::string)
Routeroute_by_remote_id (unsigned int)
intsave_state (std::string, bool, bool, bool)

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)

Returns zero on success

voidscripts_changed ()
voidset_dirty ()
std::stringsnap_name ()
Sourcesource_by_id (ID)
TempoMaptempo_map ()
booltimecode_drop_frames ()
longtimecode_frames_per_hour ()
doubletimecode_frames_per_second ()
Tracktrack_by_diskstream_id (ID)
longtransport_frame ()
booltransport_rolling ()
doubletransport_speed ()
StringListunknown_processors ()
longworst_input_latency ()
longworst_output_latency ()
longworst_playback_latency ()
longworst_track_latency ()

 ARDOUR:SessionObject

C‡: boost::shared_ptr< ARDOUR::SessionObject >, boost::weak_ptr< ARDOUR::SessionObject >

A named object associated with a Session. Objects derived from this class are expected to be destroyed before the session calls drop_references().

Methods
boolisnil ()
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:SideChain

C‡: boost::shared_ptr< ARDOUR::SideChain >, boost::weak_ptr< ARDOUR::SideChain >

is-a: ARDOUR:IOProcessor

A mixer strip element (Processor) with 1 or 2 IO elements.

Methods
boolisnil ()

Inherited from ARDOUR:IOProcessor

Methods
IOinput ()
ChanCountnatural_input_streams ()
ChanCountnatural_output_streams ()
IOoutput ()

Inherited from ARDOUR:Processor

Methods
voidactivate ()
boolactive ()
AutomationControlautomation_control (Parameter, bool)
Controlcontrol (Parameter, bool)
voiddeactivate ()
std::stringdisplay_name ()
Cast
Automatableto_automatable ()
PluginInsertto_insert ()
IOProcessorto_ioprocessor ()
SideChainto_sidechain ()

Inherited from ARDOUR:SessionObject

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:Source

C‡: boost::shared_ptr< ARDOUR::Source >, boost::weak_ptr< ARDOUR::Source >

A named object associated with a Session. Objects derived from this class are expected to be destroyed before the session calls drop_references().

Methods
boolisnil ()

 ARDOUR:Tempo

C‡: ARDOUR::Tempo

Tempo, the speed at which musical time progresses (BPM).

Constructor
ARDOUR.Tempo (double, double)
bpm
Beats Per Minute
type
Note Type (default `4': quarter note)
Methods
doublebeats_per_minute ()
doubleframes_per_beat (long)

audio samples per beat

sr
samplerate
doublenote_type ()

 ARDOUR:TempoMap

C‡: ARDOUR::TempoMap

Tempo Map - mapping of timecode to musical time. convert audio-samples, sample-rate to Bar/Beat/Tick, Meter/Tempo

Methods
voidadd_meter (Meter, BBT_TIME)
voidadd_tempo (Tempo, BBT_TIME)

 ARDOUR:Track

C‡: boost::shared_ptr< ARDOUR::Track >, boost::weak_ptr< ARDOUR::Track >

is-a: ARDOUR:Route

A track is an route (bus) with a recordable diskstream and related objects relevant to tracking, playback and editing.

Specifically a track has regions and playlist objects.

Methods
Regionbounce (InterThreadInfo&)

bounce track from session start to session end to new region

itt
asynchronous progress report and cancel

Returns a new audio region (or nil in case of error)

Regionbounce_range (long, long, InterThreadInfo&, Processor, bool)

Bounce the given range to a new audio region.

start
start time (in samples)
end
end time (in samples)
itt
asynchronous progress report and cancel
endpoint
the processor to tap the signal off (or nil for the top)
include_endpoint
include the given processor in the bounced audio.

Returns a new audio region (or nil in case of error)

boolbounceable (Processor, bool)

Test if the track can be bounced with the given settings. If sends/inserts/returns are present in the signal path or the given track has no audio outputs bouncing is not possible.

endpoint
the processor to tap the signal off (or nil for the top)
include_endpoint
include the given processor in the bounced audio.

Returns true if the track can be bounced, or false otherwise.

boolcan_record ()
boolisnil ()
Playlistplaylist ()
boolrecord_enabled ()
boolrecord_safe ()
boolset_name (std::string)
voidset_record_enabled (bool, GroupControlDisposition)
voidset_record_safe (bool, GroupControlDisposition)
Cast
AudioTrackto_audio_track ()
MidiTrackto_midi_track ()

Inherited from ARDOUR:Route

Methods
boolactive ()
intadd_processor_by_index (Processor, int, ProcessorStreams, bool)

Add a processor to a route such that it ends up with a given index into the visible processors.

index
Index to add the processor at, or -1 to add at the end of the list.

Returns 0 on success, non-0 on failure.

booladd_sidechain (Processor)
Ampamp ()
std::stringcomment ()
boolcustomize_plugin_insert (Processor, unsigned int, ChanCount, ChanCount)

enable custom plugin-insert configuration

proc
Processor to customize
count
number of plugin instances to use (if zero, reset to default)
outs
output port customization
sinks
input pins for variable-I/O plugins

Returns true if successful

Deliverymain_outs ()

the signal processorat at end of the processing chain which produces output

boolmuted ()
ChanCountn_inputs ()
ChanCountn_outputs ()
Processornth_plugin (unsigned int)
intremove_processor (Processor, ProcessorStreams, bool)

remove plugin/processor

proc
processor to remove
err
error report (index where removal vailed, channel-count why it failed) may be nil
need_process_lock
if locking is required (set to true, unless called from RT context with lock)

Returns 0 on success

boolremove_sidechain (Processor)
intreplace_processor (Processor, Processor, ProcessorStreams)

replace plugin/processor with another

old
processor to remove
sub
processor to substitute the old one with
err
error report (index where removal vailed, channel-count why it failed) may be nil

Returns 0 on success

boolreset_plugin_insert (Processor)

reset plugin-insert configuration to default, disable customizations.

This is equivalent to calling

 customize_plugin_insert (proc, 0, unused)
proc
Processor to reset

Returns true if successful

voidset_active (bool, void*)
voidset_comment (std::string, void*)
boolset_strict_io (bool)
boolsoloed ()
boolstrict_io ()
Amptrim ()
Cast
Trackto_track ()

Inherited from ARDOUR:SessionObject

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:WeakAudioSourceList

C‡: std::list<boost::weak_ptr<ARDOUR::AudioSource> >

Constructor
ARDOUR.WeakAudioSourceList ()
Methods
boolempty ()
LuaIteriter ()
voidreverse ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR:WeakRouteList

C‡: std::list<boost::weak_ptr<ARDOUR::Route> >

Constructor
ARDOUR.WeakRouteList ()
Methods
boolempty ()
LuaIteriter ()
voidreverse ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR:WeakSourceList

C‡: std::list<boost::weak_ptr<ARDOUR::Source> >

Constructor
ARDOUR.WeakSourceList ()
Methods
boolempty ()
LuaIteriter ()
voidreverse ()
unsigned longsize ()
LuaTabletable ()

 ArdourUI:ArdourMarker

C‡: ArdourMarker

Location Marker

Editor ruler representation of a location marker or range on the timeline.

Methods
std::stringname ()
longposition ()
Typetype ()

 ArdourUI:ArdourMarkerList

C‡: std::list<ArdourMarker* >

Constructor
ArdourUI.ArdourMarkerList ()
Methods
LuaTableadd (LuaTable {ArdourMarker* })
boolempty ()
LuaIteriter ()
voidpush_back (ArdourMarker)
voidreverse ()
unsigned longsize ()
LuaTabletable ()
voidunique ()

 ArdourUI:Editor

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
voidaccess_action (std::string, std::string)
voidadd_location_from_playhead_cursor ()
voidcenter_screen (long)
voidconsider_auditioning (Region)

Possibly start the audition of a region. If

r
is 0, or not an AudioRegion any current audition is cancelled. If we are currently auditioning
r
will start.
r
Region to consider.
r,
the audition will be cancelled. Otherwise an audition of
MouseModecurrent_mouse_mode ()

Returns The current mouse mode (gain, object, range, timefx etc.) (defined in editing_syms.h)

longcurrent_page_samples ()
voiddeselect_all ()
LuaTable(...)do_embed (StringVector, ImportDisposition, ImportMode, long&, PluginInfo)
LuaTable(...)do_import (StringVector, ImportDisposition, ImportMode, SrcQuality, long&, PluginInfo)
booldragging_playhead ()

Returns true if the playhead is currently being dragged, otherwise false

MouseModeeffective_mouse_mode ()
voidexport_audio ()

Open main export dialog

voidexport_range ()

Open export dialog with current range pre-selected

voidexport_selection ()

Open export dialog with current selection pre-selected

LuaTable(Location, ...)find_location_from_marker (ArdourMarker, bool&)
ArdourMarkerfind_marker_from_location_id (ID, bool)
boolfollow_playhead ()

Returns true if the editor is following the playhead

longget_current_zoom ()
Selectionget_cut_buffer ()
unsigned intget_grid_beat_divisions (long)
LuaTable(Beats, ...)get_grid_type_as_beats (bool&, long)
LuaTable(long, ...)get_nudge_distance (long, long&)
longget_paste_offset (long, unsigned int, long)
LuaTable(...)get_pointer_position (double&, double&)
Selectionget_selection ()
LuaTable(bool, ...)get_selection_extents (long&, long&)
boolget_smart_mode ()
intget_videotl_bar_height ()
doubleget_y_origin ()
ZoomFocusget_zoom_focus ()
voidgoto_nth_marker (int)
longleftmost_sample ()
voidmaximise_editing_space ()
voidmaybe_locate_with_edit_preroll (long)
voidmouse_add_new_marker (long, bool)
voidnew_region_from_selection ()
voidoverride_visible_track_count ()
longpixel_to_sample (double)
voidplay_selection ()
voidplay_with_preroll ()
voidredo (unsigned int)

Redo some transactions.

n
Number of transaction to redo.
voidremove_last_capture ()
voidremove_location_at_playhead_cursor ()
voidremove_tracks ()
voidreset_x_origin (long)
voidreset_y_origin (double)
voidreset_zoom (long)
voidrestore_editing_space ()
doublesample_to_pixel (long)
boolscroll_down_one_track (bool)
voidscroll_tracks_down_line ()
voidscroll_tracks_up_line ()
boolscroll_up_one_track (bool)
voidselect_all_tracks ()
voidseparate_region_from_selection ()
voidset_follow_playhead (bool, bool)

Set whether the editor should follow the playhead.

yn
true to follow playhead, otherwise false.
catch_up
true to reset the editor view to show the playhead (if yn == true), otherwise false.
voidset_loop_range (long, long, std::string)
voidset_mouse_mode (MouseMode, bool)

Set the mouse mode (gain, object, range, timefx etc.)

m
Mouse mode (defined in editing_syms.h)
force
Perform the effects of the change even if no change is required (ie even if the current mouse mode is equal to
voidset_punch_range (long, long, std::string)
voidset_show_measures (bool)
voidset_snap_mode (SnapMode)

Set the snap mode.

m
Snap mode (defined in editing_syms.h)
voidset_snap_threshold (double)

Set the snap threshold.

t
Snap threshold in `units'.
voidset_stationary_playhead (bool)
voidset_video_timeline_height (int)
voidset_zoom_focus (ZoomFocus)
boolshow_measures ()
SnapModesnap_mode ()
SnapTypesnap_type ()
boolstationary_playhead ()
voidstem_export ()

Open stem export dialog

voidtemporal_zoom_step (bool)
voidtoggle_meter_updating ()
voidtoggle_ruler_video (bool)
voidtoggle_xjadeo_proc (int)
voidundo (unsigned int)

Undo some transactions.

n
Number of transactions to undo.
doublevisible_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
LuaTableadd (LuaTable {ArdourMarker* })
boolempty ()
LuaIteriter ()
voidpush_back (ArdourMarker)
voidreverse ()
unsigned longsize ()
LuaTabletable ()
voidunique ()

 ArdourUI:RegionSelection

C‡: RegionSelection

Class to represent list of selected regions.

Methods
voidclear_all ()

Empty this RegionSelection.

longend_frame ()
unsigned longn_midi_regions ()
RegionListregionlist ()
longstart ()

 ArdourUI:Selection

C‡: Selection

The Selection class holds lists of selected items (tracks, regions, etc. etc.).

Methods
voidclear ()

Clear everything from the Selection

voidclear_all ()
boolempty (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:MarkerSelectionmarkers
ArdourUI:RegionSelectionregions
ArdourUI:TimeSelectiontime
ArdourUI:TrackSelectiontracks

 ArdourUI:TimeSelection

C‡: TimeSelection

is-a: ARDOUR:AudioRangeList

Methods
longend_frame ()
longlength ()
longstart ()

Inherited from ARDOUR:AudioRangeList

Constructor
ARDOUR.AudioRangeList ()
Methods
boolempty ()
LuaIteriter ()
voidreverse ()
unsigned longsize ()
LuaTabletable ()

 ArdourUI:TrackSelection

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.

Inherited from ArdourUI:TrackViewList

Methods
RouteListroutelist ()

 ArdourUI:TrackViewList

C‡: TrackViewList

Methods
RouteListroutelist ()

 C:DoubleVector

C‡: std::vector<double >

Constructor
C.DoubleVector ()
Methods
LuaTableadd (LuaTable {double})
doubleat (unsigned long)
boolempty ()
LuaIteriter ()
voidpush_back (double)
unsigned longsize ()
LuaTabletable ()

 C:FloatArray

C‡: float*

Methods
LuaMetaTablearray ()
LuaTableget_table ()
FloatArrayoffset (unsigned int)
boolsameinstance (FloatArray)
voidset_table (LuaTable {float})

 C:IntArray

C‡: int*

Methods
LuaMetaTablearray ()
LuaTableget_table ()
IntArrayoffset (unsigned int)
boolsameinstance (IntArray)
voidset_table (LuaTable {int})

 C:StringList

C‡: std::list<std::string >

Constructor
C.StringList ()
Methods
LuaTableadd (LuaTable {std::string})
boolempty ()
LuaIteriter ()
voidpush_back (std::string)
voidreverse ()
unsigned longsize ()
LuaTabletable ()
voidunique ()

 C:StringVector

C‡: std::vector<std::string >

Constructor
C.StringVector ()
Methods
LuaTableadd (LuaTable {std::string})
std::stringat (unsigned long)
boolempty ()
LuaIteriter ()
voidpush_back (std::string)
unsigned longsize ()
LuaTabletable ()

 Cairo:Context

C‡: Cairo::Context

Context is the main class used to draw in cairomm. It contains the current state of the rendering device, including coordinates of yet to be drawn shapes.

In the simplest case, create a Context with its target Surface, set its drawing options (line width, color, etc), create shapes with methods like move_to() and line_to(), and then draw the shapes to the Surface using methods such as stroke() or fill().

Context is a reference-counted object that should be used via Cairo::RefPtr.

Methods
voidarc (double, double, double, double, double)

Adds a circular arc of the given radius to the current path. The arc is centered at (xc, yc), begins at angle1 and proceeds in the direction of increasing angles to end at angle2. If angle2 is less than angle1 it will be progressively increased by 2*M_PI until it is greater than angle1.

If there is a current point, an initial line segment will be added to the path to connect the current point to the beginning of the arc. If this initial line is undesired, it can be avoided by calling begin_new_sub_path() before calling arc().

Angles are measured in radians. An angle of 0 is in the direction of the positive X axis (in user-space). An angle of M_PI/2.0 radians (90 degrees) is in the direction of the positive Y axis (in user-space). Angles increase in the direction from the positive X axis toward the positive Y axis. So with the default transformation matrix, angles increase in a clockwise direction.

( To convert from degrees to radians, use degrees * (M_PI / 180.0). )

This function gives the arc in the direction of increasing angles; see arc_negative() to get the arc in the direction of decreasing angles.

The arc is circular in user-space. To achieve an elliptical arc, you can scale the current transformation matrix by different amounts in the X and Y directions. For example, to draw an ellipse in the box given by x, y, width, height:

 context->save();
 context->translate(x, y);
 context->scale(width / 2.0, height / 2.0);
 context->arc(0.0, 0.0, 1.0, 0.0, 2 * M_PI);
 context->restore();
xc
X position of the center of the arc
yc
Y position of the center of the arc
radius
the radius of the arc
angle1
the start angle, in radians
angle2
the end angle, in radians
voidarc_negative (double, double, double, double, double)

Adds a circular arc of the given radius to the current path. The arc is centered at (xc, yc), begins at angle1 and proceeds in the direction of decreasing angles to end at angle2. If angle2 is greater than angle1 it will be progressively decreased by 2*M_PI until it is greater than angle1.

See arc() for more details. This function differs only in the direction of the arc between the two angles.

xc
X position of the center of the arc
yc
Y position of the center of the arc
radius
the radius of the arc
angle1
the start angle, in radians
angle2
the end angle, in radians
voidbegin_new_path ()

Clears the current path. After this call there will be no current point.

voidbegin_new_sub_path ()

Begin a new subpath. Note that the existing path is not affected. After this call there will be no current point.

In many cases, this call is not needed since new subpaths are frequently started with move_to().

A call to begin_new_sub_path() is particularly useful when beginning a new subpath with one of the arc() calls. This makes things easier as it is no longer necessary to manually compute the arc's initial coordinates for a call to move_to().

1.2

voidclip ()

Establishes a new clip region by intersecting the current clip region with the current Path as it would be filled by fill() and according to the current fill rule.

After clip(), the current path will be cleared from the cairo Context.

The current clip region affects all drawing operations by effectively masking out any changes to the surface that are outside the current clip region.

Calling clip() can only make the clip region smaller, never larger. But the current clip is part of the graphics state, so a temporary restriction of the clip region can be achieved by calling clip() within a save()/restore() pair. The only other means of increasing the size of the clip region is reset_clip().

set_fill_rule()

voidclip_preserve ()

Establishes a new clip region by intersecting the current clip region with the current path as it would be filled by fill() and according to the current fill rule.

Unlike clip(), clip_preserve preserves the path within the cairo Context.

clip()

set_fill_rule()

voidclose_path ()

Adds a line segment to the path from the current point to the beginning of the current subpath, (the most recent point passed to move_to()), and closes this subpath. After this call the current point will be at the joined endpoint of the sub-path.

The behavior of close_path() is distinct from simply calling line_to() with the equivalent coordinate in the case of stroking. When a closed subpath is stroked, there are no caps on the ends of the subpath. Instead, there is a line join connecting the final and initial segments of the subpath.

If there is no current point before the call to close_path(), this function will have no effect.

voidcurve_to (double, double, double, double, double, double)

Adds a cubic Bezier spline to the path from the current point to position (x3, y3) in user-space coordinates, using (x1, y1) and (x2, y2) as the control points. After this call the current point will be (x3, y3).

If there is no current point before the call to curve_to() this function will behave as if preceded by a call to move_to(x1, y1).

x1
the X coordinate of the first control point
y1
the Y coordinate of the first control point
x2
the X coordinate of the second control point
y2
the Y coordinate of the second control point
x3
the X coordinate of the end of the curve
y3
the Y coordinate of the end of the curve
voidfill ()

A drawing operator that fills the current path according to the current fill rule, (each sub-path is implicitly closed before being filled). After fill(), the current path will be cleared from the cairo context.

set_fill_rule()

fill_preserve()

voidfill_preserve ()

A drawing operator that fills the current path according to the current fill rule, (each sub-path is implicitly closed before being filled). Unlike fill(), fill_preserve() preserves the path within the cairo Context.

set_fill_rule()

fill().

voidline_to (double, double)

Adds a line to the path from the current point to position (x, y) in user-space coordinates. After this call the current point will be (x, y).

If there is no current point before the call to line_to() this function will behave as move_to(x, y).

x
the X coordinate of the end of the new line
y
the Y coordinate of the end of the new line
voidmove_to (double, double)

If the current subpath is not empty, begin a new subpath. After this call the current point will be (x, y).

x
the X coordinate of the new position
y
the Y coordinate of the new position
voidpaint ()

A drawing operator that paints the current source everywhere within the current clip region.

voidpaint_with_alpha (double)

A drawing operator that paints the current source everywhere within the current clip region using a mask of constant alpha value alpha. The effect is similar to paint(), but the drawing is faded out using the alpha value.

alpha
an alpha value, between 0 (transparent) and 1 (opaque)
voidrectangle (double, double, double, double)

Adds a closed-subpath rectangle of the given size to the current path at position (x, y) in user-space coordinates.

This function is logically equivalent to:

 context->move_to(x, y);
 context->rel_line_to(width, 0);
 context->rel_line_to(0, height);
 context->rel_line_to(-width, 0);
 context->close_path();
x
the X coordinate of the top left corner of the rectangle
y
the Y coordinate to the top left corner of the rectangle
width
the width of the rectangle
height
the height of the rectangle
voidrel_curve_to (double, double, double, double, double, double)

Relative-coordinate version of curve_to(). All offsets are relative to the current point. Adds a cubic Bezier spline to the path from the current point to a point offset from the current point by (dx3, dy3), using points offset by (dx1, dy1) and (dx2, dy2) as the control points. After this call the current point will be offset by (dx3, dy3).

Given a current point of (x, y),

 rel_curve_to(dx1, dy1, dx2, dy2, dx3, dy3)

is logically equivalent to

 curve_to(x + dx1, y + dy1, x + dx2, y + dy2, x + dx3, y + dy3).

It is an error to call this function with no current point. Doing so will cause this to shutdown with a status of CAIRO_STATUS_NO_CURRENT_POINT. Cairomm will then throw an exception.

dx1
the X offset to the first control point
dy1
the Y offset to the first control point
dx2
the X offset to the second control point
dy2
the Y offset to the second control point
dx3
the X offset to the end of the curve
dy3
the Y offset to the end of the curve
voidrel_line_to (double, double)

Relative-coordinate version of line_to(). Adds a line to the path from the current point to a point that is offset from the current point by (dx, dy) in user space. After this call the current point will be offset by (dx, dy).

Given a current point of (x, y),

 rel_line_to(dx, dy)

is logically equivalent to

 line_to(x + dx, y + dy).

It is an error to call this function with no current point. Doing so will cause this to shutdown with a status of CAIRO_STATUS_NO_CURRENT_POINT. Cairomm will then throw an exception.

dx
the X offset to the end of the new line
dy
the Y offset to the end of the new line
voidrel_move_to (double, double)

If the current subpath is not empty, begin a new subpath. After this call the current point will offset by (x, y).

Given a current point of (x, y),

 rel_move_to(dx, dy)

is logically equivalent to

 move_to(x + dx, y + dy)

It is an error to call this function with no current point. Doing so will cause this to shutdown with a status of CAIRO_STATUS_NO_CURRENT_POINT. Cairomm will then throw an exception.

dx
the X offset
dy
the Y offset
voidreset_clip ()

Reset the current clip region to its original, unrestricted state. That is, set the clip region to an infinitely large shape containing the target surface. Equivalently, if infinity is too hard to grasp, one can imagine the clip region being reset to the exact bounds of the target surface.

Note that code meant to be reusable should not call reset_clip() as it will cause results unexpected by higher-level code which calls clip(). Consider using save() and restore() around clip() as a more robust means of temporarily restricting the clip region.

voidrestore ()

Restores cr to the state saved by a preceding call to save() and removes that state from the stack of saved states.

save()

voidrotate (double)

Modifies the current transformation matrix (CTM) by rotating the user-space axes by angle radians. The rotation of the axes takes places after any existing transformation of user space. The rotation direction for positive angles is from the positive X axis toward the positive Y axis.

angle
angle (in radians) by which the user-space axes will be rotated
voidsave ()

Makes 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()

voidscale (double, double)

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.

sx
scale factor for the X dimension
sy
scale factor for the Y dimension
voidset_dash (DoubleVector, double)
voidset_font_size (double)

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.

size
the new font size, in user space units)
voidset_line_cap (LineCap)

Sets the current line cap style within the cairo Context. See LineCap for details about how the available line cap styles are drawn.

As with the other stroke parameters, the current line cap style is examined by stroke(), stroke_extents(), and stroke_to_path(), but does not have any effect during path construction.

The default line cap style is Cairo::LINE_CAP_BUTT.

line_cap
a line cap style, as a LineCap
voidset_line_join (LineJoin)

Sets the current line join style within the cairo Context. See LineJoin for details about how the available line join styles are drawn.

As with the other stroke parameters, the current line join style is examined by stroke(), stroke_extents(), and stroke_to_path(), but does not have any effect during path construction.

The default line join style is Cairo::LINE_JOIN_MITER.

line_join
a line joint style, as a LineJoin
voidset_line_width (double)

Sets the current line width within the cairo Context. The line width specifies the diameter of a pen that is circular in user-space, (though device-space pen may be an ellipse in general due to scaling/shear/rotation of the CTM).

Note: When the description above refers to user space and CTM it refers to the user space and CTM in effect at the time of the stroking operation, not the user space and CTM in effect at the time of the call to set_line_width(). The simplest usage makes both of these spaces identical. That is, if there is no change to the CTM between a call to set_line_width() and the stroking operation, then one can just pass user-space values to set_line_width() and ignore this note.

As with the other stroke parameters, the current line cap style is examined by stroke(), stroke_extents(), and stroke_to_path(), but does not have any effect during path construction.

The default line width value is 2.0.

width
a line width, as a user-space value
voidset_operator (Operator)

Sets the compositing operator to be used for all drawing operations. See Operator for details on the semantics of each available compositing operator.

op
a compositing operator, specified as a Operator
voidset_source_rgb (double, double, double)

Sets the source pattern within the Context to an opaque color. This opaque color will then be used for any subsequent drawing operation until a new source pattern is set.

The color components are floating point numbers in the range 0 to 1. If the values passed in are outside that range, they will be clamped.

set_source_rgba()

set_source()

red
red component of color
green
green component of color
blue
blue component of color
voidset_source_rgba (double, double, double, double)

Sets the source pattern within the Context to a translucent color. This color will then be used for any subsequent drawing operation until a new source pattern is set.

The color and alpha components are floating point numbers in the range 0 to 1. If the values passed in are outside that range, they will be clamped.

set_source_rgb()

set_source()

red
red component of color
green
green component of color
blue
blue component of color
alpha
alpha component of color
voidshow_text (std::string)

A drawing operator that generates the shape from a string of UTF-8 characters, rendered according to the current font_face, font_size (font_matrix), and font_options.

This function first computes a set of glyphs for the string of text. The first glyph is placed so that its origin is at the current point. The origin of each subsequent glyph is offset from that of the previous glyph by the advance values of the previous glyph.

After this call the current point is moved to the origin of where the next glyph would be placed in this same progression. That is, the current point will be at the origin of the final glyph offset by its advance values. This allows for easy display of a single logical string with multiple calls to show_text().

Note: The show_text() function call is part of what the cairo designers call the "toy" text API. It is convenient for short demos and simple programs, but it is not expected to be adequate for serious text-using applications. See show_glyphs() for the "real" text display API in cairo.

utf8
a string containing text encoded in UTF-8
voidstroke ()

A drawing operator that strokes the current Path according to the current line width, line join, line cap, and dash settings. After stroke(), the current Path will be cleared from the cairo Context.

set_line_width()

set_line_join()

set_line_cap()

set_dash()

stroke_preserve().

Note: Degenerate segments and sub-paths are treated specially and provide a useful result. These can result in two different situations:

1. Zero-length "on" segments set in set_dash(). If the cap style is Cairo::LINE_CAP_ROUND or Cairo::LINE_CAP_SQUARE then these segments will be drawn as circular dots or squares respectively. In the case of Cairo::LINE_CAP_SQUARE, the orientation of the squares is determined by the direction of the underlying path.

2. A sub-path created by move_to() followed by either a close_path() or one or more calls to line_to() to the same coordinate as the move_to(). If the cap style is Cairo::LINE_CAP_ROUND then these sub-paths will be drawn as circular dots. Note that in the case of Cairo::LINE_CAP_SQUARE a degenerate sub-path will not be drawn at all, (since the correct orientation is indeterminate).

In no case will a cap style of Cairo::LINE_CAP_BUTT cause anything to be drawn in the case of either degenerate segments or sub-paths.

voidstroke_preserve ()

A drawing operator that strokes the current Path according to the current line width, line join, line cap, and dash settings. Unlike stroke(), stroke_preserve() preserves the Path within the cairo Context.

set_line_width()

set_line_join()

set_line_cap()

set_dash()

stroke_preserve().

voidtranslate (double, double)

Modifies the current transformation matrix (CTM) by translating the user-space origin by (tx, ty). This offset is interpreted as a user-space coordinate according to the CTM in place before the new call to translate. In other words, the translation of the user-space origin takes place after any existing transformation.

tx
amount to translate in the X direction
ty
amount to translate in the Y direction
voidunset_dash ()

This function disables a dash pattern that was set with set_dash()

 Evoral:Beats

C‡: Evoral::Beats

Musical time in beats.

Methods
doubleto_double ()

 Evoral:Control

C‡: boost::shared_ptr< Evoral::Control >, boost::weak_ptr< Evoral::Control >

Base class representing some kind of (automatable) control; a fader's gain, for example, or a compressor plugin's threshold.

The class knows the Evoral::Parameter that it is controlling, and has a list of values for automation.

Methods
boolisnil ()
ControlListlist ()

 Evoral:ControlList

C‡: boost::shared_ptr< Evoral::ControlList >, boost::weak_ptr< Evoral::ControlList >

A list (sequence) of time-stamped values for a control

Methods
voidadd (double, double, bool, bool)

add automation events

when
absolute time in samples
value
parameter value
with_guards
if true, add guard-points
with_initial
if true, add an initial point if the list is empty
voidclear (double, double)

remove all automation events between the given time range

start
start of range (inclusive) in audio samples
end
end of range (inclusive) in audio samples
doubleeval (double)

query value at given time (takes a read-lock, not safe while writing automation)

where
absolute time in samples

Returns parameter value

boolin_write_pass ()
InterpolationStyleinterpolation ()

query interpolation style of the automation data

Returns Interpolation Style

boolisnil ()
LuaTable(double, ...)rt_safe_eval (double, bool&)

realtime safe version of eval, may fail if read-lock cannot be taken

where
absolute time in samples
ok
boolean reference if returned value is valid

Returns parameter value

voidset_interpolation (InterpolationStyle)

set the interpolation style of the automation data

is
interpolation style
voidthin (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.

thinning_factor
area-size (default: 20)
voidtruncate_end (double)

truncate the event list after the given time

last_coordinate
last event to include
voidtruncate_start (double)

truncate the event list to the given time

overall_length
overall length

 Evoral:ControlSet

C‡: boost::shared_ptr< Evoral::ControlSet >, boost::weak_ptr< Evoral::ControlSet >

Methods
boolisnil ()

 Evoral:Event

C‡: Evoral::Event<long>

Methods
unsigned char*buffer ()
voidclear ()
voidset_buffer (unsigned int, unsigned char*, bool)
unsigned intsize ()

 Evoral:MidiEvent

C‡: Evoral::MIDIEvent<long>

is-a: Evoral:Event

Methods
unsigned charchannel ()
unsigned charset_channel ()
unsigned charset_type ()
unsigned chartype ()

Inherited from Evoral:Event

Methods
unsigned char*buffer ()
voidclear ()
voidset_buffer (unsigned int, unsigned char*, bool)
unsigned intsize ()

 Evoral:Parameter

C‡: Evoral::Parameter

ID of a [play|record|automate]able parameter.

A parameter is defined by (type, id, channel). Type is an integer which can be used in any way by the application (e.g. cast to a custom enum, map to/from a URI, etc). ID is type specific (e.g. MIDI controller #).

This class defines a < operator which is a strict weak ordering, so Parameter may be stored in a std::set, used as a std::map key, etc.

Constructor
Evoral.Parameter (unsigned int, unsigned char, unsigned int)
Methods
unsigned charchannel ()
unsigned intid ()
unsigned inttype ()

 Evoral:ParameterDescriptor

C‡: Evoral::ParameterDescriptor

Description of the value range of a parameter or control.

Constructor
Evoral.ParameterDescriptor ()
Data Members
floatlower
floatnormal
booltoggled
floatupper

 Evoral:Range

C‡: Evoral::Range<long>

Constructor
Evoral.Range (long, long)
Data Members
longfrom
longto

 LuaSignal:Set

C‡: std::bitset<47ul>

Constructor
LuaSignal.Set ()
Methods
LuaTableadd (LuaTable {47ul})
boolany ()
unsigned longcount ()
boolnone ()
Setreset ()
Setset (unsigned long, bool)
unsigned longsize ()
LuaTabletable ()
booltest (unsigned long)

 PBD:Command

C‡: Command

is-a: PBD:StatefulDestructible

Base class for Undo/Redo commands and changesets

Methods
std::stringname ()
voidset_name (std::string)

Inherited from PBD:Stateful

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 PBD:Controllable

C‡: boost::shared_ptr< PBD::Controllable >, boost::weak_ptr< PBD::Controllable >

is-a: PBD:StatefulDestructiblePtr

This is a pure virtual class to represent a scalar control.

Note that it contains no storage/state for the controllable thing that it represents. Derived classes must provide set_value()/get_value() methods, which will involve (somehow) an actual location to store the value.

In essence, this is an interface, not a class.

Without overriding upper() and lower(), a derived class will function as a control whose value can range between 0 and 1.0.

Methods
doubleget_value ()
boolisnil ()
std::stringname ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 PBD:ID

C‡: PBD::ID

a unique ID to identify objects numerically

Constructor
PBD.ID (std::string)
Methods
std::stringto_s ()

 PBD:Stateful

C‡: PBD::Stateful

Base class for objects with saveable and undoable state

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 PBD:StatefulDestructible

C‡: PBD::StatefulDestructible

is-a: PBD:Stateful

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.

Inherited from PBD:Stateful

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 PBD:StatefulDestructiblePtr

C‡: boost::shared_ptr< PBD::StatefulDestructible >, boost::weak_ptr< PBD::StatefulDestructible >

is-a: PBD:StatefulPtr

Base class for objects with saveable and undoable state with destruction notification

Methods
boolisnil ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 PBD:StatefulDiffCommand

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
boolempty ()
voidundo ()

Inherited from PBD:Command

Methods
std::stringname ()
voidset_name (std::string)

Inherited from PBD:Stateful

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 PBD:StatefulPtr

C‡: boost::shared_ptr< PBD::Stateful >, boost::weak_ptr< PBD::Stateful >

Base class for objects with saveable and undoable state

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
boolisnil ()
OwnedPropertyListproperties ()

 PBD:XMLNode

C‡: XMLNode

Methods
std::stringname ()

 Timecode:BBT_TIME

C‡: Timecode::BBT_Time

Bar, Beat, Tick Time (i.e. Tempo-Based Time)

Constructor
Timecode.BBT_TIME (unsigned int, unsigned int, unsigned int)

Enum/Constants

 PBD.Controllable.GroupControlDisposition

 Evoral.ControlList.InterpolationStyle

 ARDOUR.ChanMapping

 PBD.PropertyDescriptor<long>*

 ARDOUR.PluginType

 ARDOUR.AutoStyle

 ARDOUR.AutoState

 ARDOUR.AutomationType

 ARDOUR.SrcQuality

 ARDOUR.PortFlags

 ARDOUR.PlaylistDisposition

 ARDOUR.RegionPoint

 ARDOUR.TrackMode

 ARDOUR.Session.RecordState

 ARDOUR.Location.Flags

 Cairo.LineCap

 Cairo.LineJoin

 Cairo.Operator

 LuaSignal.LuaSignal

 ArdourMarker.Type

 Editing.SnapType

 Editing.SnapMode

 Editing.MouseMode

 Editing.ZoomFocus

 Editing.DisplayControl

 Editing.ImportMode

 Editing.ImportPosition

 Editing.ImportDisposition

 ARDOUR.DSP.Biquad.Type

Class Index

Ardour 4.7-1065-ge63c2c3  -  Sat, 21 May 2016 16:17:54 +0200